ios相关
ios实践基础
dustinqi
蜘蛛可怕却有用,猫虽可爱但废物
展开
-
ios真机运行时保存日志并输出
(断开xcode进行真机测试时,无法通过xcode看到运行日志)方法:1、在AppDelegate.m中,当app启动时加入redirectNSLogToDocumentFolder方法:该方法具体实现:- (void)redirectNSLogToDocumentFolder{ //如果已经连接Xcode调试则不输出到文件 if(isatty(STDOUT_FILENO)...原创 2020-05-07 16:33:50 · 862 阅读 · 1 评论 -
xcode 打包framework时去除某些架构
上图所示为编译后的.framework文件,该.framework支持的架构为arm64和armv7两种。如果为了缩小容量,只想保留arm64架构,则Terminal中运行:lipo MySencodeFrameWork.framework/MySencodeFrameWork -thin arm64 -output MySencodeFrameWork...原创 2020-05-07 16:45:41 · 2917 阅读 · 0 评论 -
xcode 在app中调试静态库
参考https://blog.csdn.net/csjiangchao5/article/details/52779030https://www.cnblogs.com/Hakim/p/Xcode.html1、首先做好备份!2、app工程和静态库工程的源码如下图:想要在app中调试的静态库:MySencodeFrameWork.framework。3、app工程中首先删除静态库及头文...原创 2020-05-07 16:53:58 · 391 阅读 · 0 评论 -
使用线程通知 “dispatch_group_notify” 解决线程执行顺序问题
情景:1、根据用户的按钮选择不同,某变量的值发生变化,根据值的不同执行不同的线程;2、发送网络请求,根据返回结果的不同执行不同的线程。存在的问题:1、用户选择较慢,在用户选择之前,下一步的线程就已经执行了;2、网络返回较慢,下一步的线程在网络请求还没有结果时已经执行。方案:用户选择完毕,或者网络请求返回后,“通知”接下来的线程,然后线程再执行 ——“线程通知”:dispatch_group_t waitUserSelectedGroup = dispatch_group_create()原创 2020-05-09 15:08:25 · 2596 阅读 · 0 评论 -
使用GCD实现简单循环
//设置时间间隔(每五秒)dispatch_source_t _timer;NSTimeInterval period = 5.f;dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);_timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);dispatch_source_set_timer原创 2020-05-09 15:12:24 · 839 阅读 · 0 评论 -
使用KVO监听值的变化
场景:使用kvo实现Label内容的监听,如果UILabel内容发生变化,则触发相应事件(这里实现另一个label内容的跟随变化)1、注册两个观察者,分别监听callDialpadNumber和calltime这两个UILabel的text属性:[self.callDialpadNumber addObserver:self forKeyPath:@"text" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld con原创 2020-05-09 15:10:31 · 709 阅读 · 0 评论