![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IOS
程序员june
share,share,enjoy!
展开
-
Xcode10:library not found for -lstdc++.6.0.9 临时解决
提取自Xcode9部分项目依赖libstdc++.6.0.9的会在Xcode10无法运行-IOS文档类资源-CSDN下载部分项目依赖 libstdc++.6.0.9 的会在Xcode 10无法运行其原因是Xcode 10中将libstdc++.6.0.9库文件删除,原本功能迁移至其他库在终端输入以下命令打开Xcode的lib库目录(此目录位安装的默认目录)如果安装在其他目录 或者Xcode改名的建议右键Xcode显示报内容,进入把刚刚下载的zip文件解压获取到的 真机的 libstdc++.6.原创 2022-06-24 13:03:43 · 751 阅读 · 0 评论 -
M1芯片的Mac在开发iOS项目时遇到的问题汇总(模拟器无法运行,Cocoapods错误等)
--pod install时报错,且错误提示中有“ffi”字眼,提示错误:/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.3/lib/ffi/library.rb:275: [BUG] Bus Error at 0x00000001042fc000 ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.arm64e-darwin20]解决方案:juejin.cn/post/698064…--pod repo upd原创 2022-05-18 19:30:49 · 2402 阅读 · 1 评论 -
M1芯片Mac上Homebrew安装教程
目前Homebrew还没有完成对搭载Apple Silicon CPU的Mac机型完成适配,安装教程也比较混乱,我与度娘进行了一小时的混战,然后找到一篇宝贝博客,大致内容如下:文章链接:M1芯片Mac上Homebrew安装教程 - 知乎安装 ARM 版 HomebrewARM版Homebrew需要安装在/opt/homebrew路径下,早期的时候需要手动创建目录执行命令,目前使用最新脚本不需要手动操作。直接执行:/bin/bash -c "$(curl -fsSL https://gi转载 2022-04-18 13:12:58 · 2183 阅读 · 0 评论 -
centos7 如何安装部署k8s_如何在CentOS 7上正确安装Chromium
在Linux CentOS 7、Debian和RedHat上正确安装Chromium浏览器。Centos 项目官网在Linux操作系统上安装Google Chrome有点复杂。不过,你也可以使用Chromium web浏览器。它的工作原理与Google Chrome浏览器相同。这篇文章,让Chromium简单而正确的安装在CentOS 7上。我刚在CentOS 7 VPS和专用服务器上安装了Chromium浏览器。它在本地的Linux CentOS 7机器上也同样工作。在CentOS 7原创 2022-04-14 19:25:44 · 4265 阅读 · 0 评论 -
iOS Swift Timer的销毁问题以及优化
最近在同事的代码里看到了一些定时器使用上的问题,其实Timer虽然用起来看似很简单,但是稍不注意就会出现问题,造成一些偶发性的崩溃。下面这个是常见的写法,看似没问题,其实deinit方法是不会被调用的,Timer自然不会被销毁。class TimerTestViewController: UIViewController { @IBOutlet weak var labelText: UILabel! var myTimer: Timer! var count = 0原创 2022-03-26 16:51:58 · 4043 阅读 · 0 评论 -
swift 之 字符串的用法
当我写下此篇博客之时,我已研究它多时,因为我从没有遇到过截取字符串还需要三步之多的语言。也许是我太菜了,今夜写下此文,与菜鸡共勉。首先,让我们先来了解一下swift自身的方法:1、截取前面5个字符let substr = string.prefix(5)2、截取后面5个字符let substr = string.suffix(5)3、获取下标 N 到 M 的字符(0 <= N < M <= string.count)// let string = "1原创 2022-03-25 21:54:29 · 1171 阅读 · 0 评论 -
Swift学习:内存管理,weak,unowned,autoreleasepool,循环引用,escaping,指针
内存管理:跟OC一样,Swift也是采取基于引用计数的ARC内存管理方案(针对堆空间) class Person { deinit { print("Person.deinit") }} print(1)var p: Person? = Person()print(2)p = nilprint(3)//输出结果为://1//2//Person.deinit//3 由上图可以看出,p置为nil时,对象销毁,走deinit方法Swi.原创 2022-03-24 21:07:55 · 3202 阅读 · 0 评论 -
swift 中内存狂飙的问题(1)
在使用 Swift 语言进行开发的时候,很多朋友会莫名奇妙地遇到内存爆满的问题,明明有 ARC ,明明释放了内存,却还是让程序的内存占用随着循环而一路飙升。这里其实并不是出现了内存泄露,这其实是ARC的一个机制:在每一个主Runloop结束的时候进行清理。也就是说,它有一套必要的缓存机制——毕竟,实时释放的话谁能保证你的局部变量要不要留下来给后续的代码使用呢?但显然,这个必要的机制在这个时候成了我们的噩梦,比如说:func test() { for _ in 0..<99...原创 2022-03-24 19:53:40 · 4331 阅读 · 0 评论 -
Swift - @autoreleasepool
Swift 在内存管理上使用的是自动引用计数(ARC)的一套方法,在ARC 中虽然不需要手动的调用retain、release 和 autorelease 这样的方法来管理引用计数,但是这些方法还是都会被调用的----只不过是编译时在合适的地方帮我们加入了而已。其中retain 和release 都很直接,就是将对象的引用计数加1 或者减1。但是autorelease 就比较特殊一些,它会将接受该消息的对象放到一个预先建立的自动释放池(auto release pool)中,并在自动释放池收到drain 消原创 2022-03-24 11:03:12 · 684 阅读 · 0 评论 -
OS X和iOS 内存优化(1)
基础优化策略内存页的最小粒度为4K或16K,所以尽量分配其整数倍大小,避免浪费内存。延迟分配&懒分配 MyGlobalInfo* GetGlobalBuffer() { static MyGlobalInfo* sGlobalBuffer = NULL; if ( sGlobalBuffer == NULL ) { sGlobalBuffer = malloc( sizeof( MyGlobalInfo ) ); } ret原创 2022-03-22 13:30:25 · 179 阅读 · 0 评论 -
Instruments 之 Allocations(1)
1. 介绍Allocations:检测一个进程(选择自己的app)内存分配和使用情况等我们启动Allocations后得到一个初始界面image简单说一下上图的3个地方1:这里有两个部分了,因为官方说了Allocations(上面)和垃圾数据占用(下面)一起展示更好分析2:一个列表,展示了哪些方法\部分消耗了多少内存,前面的钩钩上会在1部分显示出主柱状图,自己点一下就知道了,不截图3:设置和扩展功能,文章后面慢慢讲2. 开始分析列表我先随意的在自己app中点击,跳转等操作原创 2022-03-21 23:39:56 · 485 阅读 · 0 评论 -
Xcode Unable to prepare iPhone for development
手机更新到了 15.3,发现连不上xcode了点击打开下面链接 下载对应版本GitHub - filsv/iPhoneOSDeviceSupport: Xcode iPhoneOS DeviceSupport files (6.0 - 15.2)然后退出XCode,然后解压后将文件复制到下面的位置Xcode/Show PackageContent/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport退出并重新启动XC原创 2022-03-21 17:52:53 · 2105 阅读 · 0 评论 -
Swift之从网络获取图片
/** * 初始化URL并且获取图片地址 */ var url : NSURL = NSURL(string: "http://img0.bdstatic.com/img/image/shouye/xinshouye/sheji202.jpg")! /** * 初始化data。从URL中获取数据 */ var data : NSData = NSData(contentsOfU.原创 2022-03-21 02:24:39 · 797 阅读 · 0 评论 -
mac下安装sg11
https://blog.csdn.net/dabao87/article/details/90756719另:我们还需要添加dar原创 2020-03-02 01:03:43 · 890 阅读 · 0 评论 -
解决 Homebrew 安装软件下载失败
参考https://segmentfault.com/a/1190000020125374转载 2021-03-27 01:41:16 · 1436 阅读 · 0 评论 -
mac 环境下卸载node和npm
https://blog.csdn.net/zhongzunfa/article/details/81177494原创 2020-01-15 00:43:12 · 972 阅读 · 0 评论 -
mac系统显示隐藏文件
显示隐藏文件:defaults write com.apple.finder AppleShowAllFiles -boolean true;killall Finder打开隐藏文件defaults write com.apple.finder AppleShowAllFiles -boolean false;killall Finder...原创 2020-02-18 16:01:25 · 104 阅读 · 0 评论 -
Mac下安装npm无法使用出现command not found
1.全局安装和安装到指定目录下的 package.json 是不一样的效果,输入npm list -g --depth 0中查看是否安装到了全局2.建立文件夹 touch .bash_profile3.打开文件夹 open .bash_profile4.输入内容export PATH=$PATH:/Users/zhangjunhua/.npm-global/bin,然后保存5.更...原创 2020-01-15 12:02:34 · 6480 阅读 · 0 评论 -
使用Nmap扫描目标主机
端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关),但是端口扫描不但可以为黑客所利用,同时端口扫描还是网络安全工作者的必备的利器,通过对端口的扫描,了解网站中出现的漏洞以及端口的开放情况,对网站安全方面有着不可或缺的贡献,是你学习网络安全的第一门课程的首选目前在市面上主要的端口扫描工具是X_Scan、SuperScan、nmap,其中在这里主推的是nmapNmap包含四项基本功能:主机发现(Host .转载 2021-04-13 22:18:00 · 4974 阅读 · 0 评论 -
mac 强制关闭端口命令
1.首先直接列出使用了该端口的应用程序lsof -i:端口号2.选择使用了该端口的pidkill -9 对应的pid嘿嘿,每天一个秃头小技巧,学费了吗原创 2020-09-05 17:37:59 · 1407 阅读 · 0 评论 -
SSL: no alternative certificate subject name matches target host name ‘xxx‘
clone代码出现 SSL: no alternative certificate subject name matches target host name ‘xxx’解决方法:git config --global http.sslVerify false (让git忽略ssl证书错误)原创 2021-10-21 17:43:07 · 2241 阅读 · 0 评论 -
Mac系统,同局域网内,别人电脑访问我本地项目的方法
主要分为三个步骤:第一步:获取本Mac的ip地址可参考我的这篇文章:Mac下查看本机IP地址如:我的ip地址是192.168.3.94第二步:找到你项目的地址路由如:我的本地项目地址是http://127.0.0.1/basic/web/index.php?r=xxx/test第三步:把Mac的地址替换掉127.0.0.1如:我的替换后是http://192.168.3.94/basic/web/index.php?r=xxx/test2那么,别人就.原创 2020-10-23 22:46:19 · 2982 阅读 · 0 评论 -
Error: Cannot install in Homebrew on ARM processor in Intel default prefix (/usr/local)
I use the latest Apple M1 chip processor. And I keep getting errors while application installation.say.,brew install openjdk@11Error: Cannot install in Homebrew on ARM processor in Intel default prefix (/usr/local)!Please create a new installatio原创 2022-02-24 00:37:51 · 3017 阅读 · 0 评论 -
mac连接windows桌面出现远程桌面连接无法验证您希望连接的计算机的身份。
、修改以下两项:(1) 远程(RDP)连接要求使用指定的安全层,改为启用,安全层选择RDP。(2) 要求使用网络级别的身份验证对远程连接的用户进行身份验证,改为禁用。参考这篇文章:http://www.iis7.com/a/nr/164252.html...原创 2019-11-24 01:33:43 · 445 阅读 · 0 评论 -
IOS开发第一大忌
项目路径不能有中文名!项目路径不能有中文名!项目路径不能有中文名!项目路径不能有中文名!项目路径不能有中文名!原创 2021-10-20 19:27:57 · 770 阅读 · 0 评论 -
xcode 如何进行变量的全局替换
问题如下:我的xcode项目里有20个文件,我想把每个文件的appDel替换为appDel!,那么该怎么做呢?解决方案:1、打开查找功能2、输入你要替换的内容比如,我这边想全局修改作者名称3、点击Find,会出现一个框,会有replace出来,就和我们文件内查找替换一样...原创 2022-03-10 19:50:56 · 1765 阅读 · 0 评论 -
Swift 代理强引用问题的解决方式
写项目的时候突然发现自己再deinit方法里写的代码没有执行,才发现了循环引用,这才知道了自己的一个知识盲区。一直以为Swift的代理默认是弱引用。😔在声明协议的时候应该这样代理声明是这样,这里才能用weak修饰...原创 2022-03-10 23:27:50 · 2357 阅读 · 0 评论 -
关于使用ArcGis ios sdk的心得
1.AGSMapView一定要使用IBoutlet,要不然会发生内存泄漏的问题2.地图类型app及其消耗内存,所以必须要注意内存的使用原创 2022-03-04 23:24:53 · 170 阅读 · 0 评论 -
Swift 3.0 通知的注册,监听及销毁
这个很重要,否则会导致很多很多奇怪的问题:注册通知NotificationCenter.default.post(name: NSNotification.Name(rawValue: "AuthSuccessNotification"), object: nil)监听通知NotificationCenter.default.addObserver(self, selector:#selector(ViewController.pageJump), name: NSNotificatio原创 2022-03-04 23:19:17 · 1773 阅读 · 0 评论 -
iOS weak 内存释放问题
我们都知道weak 关键字可以解决内存不释放问题,但是使用上有些讲究。看代码:import UIKit var str = "Hello, playground" class Name{ deinit { print("name deinit") } } class Person{ var name:Name? func test(){ let tempName = Name() weak var weakName = tempName self.原创 2022-03-04 22:09:22 · 235 阅读 · 0 评论 -
swift 中多线程的使用- GCD
参考学习文献1参考学习文献2理解性的东西上边两篇博客,个人感觉写的还是不错的,可以去看看。本篇博客主要是对有GCD在swift中用法上的一个总结。 一.串行队列 1.同步串行队列 默认创建是串行队列label:队列的名称qos:优先级sync:同步方式let queue = DispatchQueue(label: "xibei.manong.queueName",qos: .default) queue.sync { for i in 0...原创 2022-03-04 22:07:59 · 2989 阅读 · 0 评论 -
IOS 学习笔记 “this class is not key value coding-compliant for the xxx”问题的解决
this class is not key value coding-compliant for the key在学习的过程中,对于初学者这个问题肯定会遇到这个错误“this class is not key value coding-compliant for the key”,但是根据网上的解决办法基本上都只是前两种解决方案:第一种:IBOutlet重命名了或者是Inteface Builder中的连线有两个这种可能性是很大的第二种:xib文件的File's Owner对应的Class原创 2022-03-04 22:06:59 · 1778 阅读 · 0 评论 -
iOS 11提示“The resource could not be loaded because the App Transport Security policy requires the use
原因:iOS9以后,苹果把原http协议改成了https协议,所以不能直接在http协议下GET/POST。此段翻译为:资源不能被加载,因为该应用程序传输的安全策略要求使用安全连接。解决方法一:用文本编辑器打开Info.plist,插入代码<key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/></dict&g原创 2022-03-04 22:03:59 · 3700 阅读 · 0 评论 -
iOS性能优化之内存分析
成功之前我们要做应该做的事情,成功之后我们才可以做喜欢做的事情。 从苹果的开发者文档里可以看到内存分类如下所示,其中 Leaked memory和 Abandoned memory 都属于应该释放而没释放的内存,都是内存泄露(该释放的内存没有释放)。1.Leaked memory: Memory unreferenced by your application that cannot be used again or freed (also detectable by using.转载 2022-03-03 23:49:31 · 1078 阅读 · 0 评论 -
Swift 中变量的使用细节
变量(variable)是任何一门语言的构成基础, 对 Swift 也不例外. 大家可能会想, 这东西还有什么"细节"可言, 正常使用不就行了.其实, 在 Swift 中, 变量使用起来还是有一些细节问题需要注意以及提防的, 作者就根据自己的实际经验总结了如下一些东西, 仅供大家参考.由于这里探讨的是使用细节问题, 因此基本的变量声明、操作以及相关概念等此文便不再赘述.本文将分成如下 3 部分进行说明.1. stored variable 和 computed variable2. Obser原创 2022-03-02 22:48:11 · 695 阅读 · 0 评论 -
swift 中 双问好 的作用域?
例如如上图所示,会提示Value of optional type 'String?' must be unwrapped to a value of type 'String'这是因为,??会将左边整个表达式都作为验证对象,"当前年份-" + yearLabel.text但是我只想判断yearLabel.text是否为空,所以,只要要加个括号接口,像这样:print("当前年份-" + (yearLabel.text ?? "2022"))...原创 2022-02-15 17:28:41 · 2002 阅读 · 0 评论 -
UIModalPresentationStyle 各种类型的区别
UIModalPresentationStyle 各种类型的区别 - 掘金转载 2021-11-28 01:41:06 · 1220 阅读 · 0 评论 -
Swift - 文本输入框(UITextField)的用法
Swift - 文本输入框(UITextField)的用法Swift - 文本输入框(UITextField)的用法转载 2021-11-12 17:11:46 · 1048 阅读 · 0 评论 -
iOS(swift) UIButton图片下面加文字(图文混排)
extension UIButton { func imageViewUpTitleLabelDown() { self.imageEdgeInsets = UIEdgeInsets(top: 0, left: (self.titleLabel?.frame.size.width)!/2, bottom: (self.titleLabel?.frame.size.height)!+10, right: -(self.titleLabel?.frame.size.width)!/...转载 2021-11-08 16:22:25 · 752 阅读 · 0 评论