|
14 | 14 | </details> |
15 | 15 |
|
16 | 16 | ## ReactiveCocoa(RAC)如何防止UIButton短时间内多次重复点击,大概思路? |
| 17 | +> 背面是这需要有RAC使用经验才可问 |
17 | 18 |
|
18 | 19 | <details> |
19 | 20 | <summary> 参考内容 </summary> |
20 | 21 |
|
21 | 22 | - 建立一个`flag`或者使用 `filter` |
22 | 23 |
|
23 | | - |
24 | 24 | - 事件完成 flag重置,否则一直skip或者filter (某个RAC群友抛砖引玉) |
25 | 25 |
|
26 | | - |
27 | 26 | </details> |
28 | 27 |
|
29 | 28 | ## 倒计时如何实现 ? |
|
32 | 31 |
|
33 | 32 | - NSTimer ,精度不一定准确 |
34 | 33 | - GCD |
| 34 | +- DisplayLink |
35 | 35 | - RAC |
36 | 36 |
|
37 | 37 |
|
|
83 | 83 | <details> |
84 | 84 | <summary> 参考内容 </summary> |
85 | 85 |
|
86 | | -> CocoaPods注意点:CocoaPods在pod install以后会生成一个Podfile.lock的文件,这个文件在多人协作开发的时候就不能加入在.gitignore中,因为这个文件会锁定当前各依赖库的版本,就算之后再pod install也不会更改版本,不提交上去的话就可以防止第三方库升级后造成大家各自的第三方库版本不同 |
| 86 | +> **Podfile.lock**:在pod install以后会生成一个Podfile.lock的文件,这个文件在多人协作开发的时候就不建议加入在.gitignore中,因为这个文件会锁定当前各依赖库的版本,就算之后再pod install也不会更改版本,不提交上去的话就可以防止第三方库升级后造成大家各自的第三方库版本不同 |
87 | 87 |
|
88 | | -> **CocoaPods原理** |
89 | | -- > 1.Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可 |
90 | | -- > 2.对于资源文件,CocoaPods提供了一个名为Pods-resources.sh的bash脚本,该脚本在每次项目编译的时候都会执行,将第三方的各种资源文件复制到目标目录中 |
91 | | -- > 3.CocoaPods通过一个名为Pods.xcconfig的文件在编译时设置所有的依赖和参数 |
| 88 | +### **CocoaPods原理** |
92 | 89 |
|
| 90 | +- Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可 |
| 91 | +- 对于资源文件,CocoaPods提供了一个名为Pods-resources.sh的bash脚本,该脚本在每次项目编译的时候都会执行,将第三方的各种资源文件复制到目标目录中 |
| 92 | +- CocoaPods通过一个名为Pods.xcconfig的文件在编译时设置所有的依赖和参数 |
93 | 93 |
|
94 | 94 | </details> |
95 | 95 |
|
|
130 | 130 | <summary> 参考内容 </summary> |
131 | 131 |
|
132 | 132 | - 对象的isa指向类,类的isa指向元类(meta class),元类isa指向元类的根类。isa帮助一个对象找到它的方法 |
| 133 | + |
133 | 134 | - 是一个Class 类型的指针. 每个实例对象有个isa的指针,他指向对象的类,而Class里也有个isa的指针, 指向meteClass(元类)。元类保存了类方法的列表。当类方法被调用时,先会从本身查找类方法的实现,如果没有,元类会向他父类查找该方法。同时注意的是:元类(meteClass)也是类,它也是对象。元类也有isa指针,它的isa指针最终指向的是一个根元类(root meteClass).根元类的isa指针指向本身,这样形成了一个封闭的内循环。 |
134 | 135 |
|
135 | 136 |
|
|
140 | 141 | <details> |
141 | 142 | <summary> 参考内容 </summary> |
142 | 143 |
|
143 | | -- 联机调试 (需要插线,一般而言适用于开发人员) |
| 144 | +- 联机调试 (一般而言适用于开发人员) |
| 145 | + - 之前需要插线 |
| 146 | + - 后期版本可以无线调试! |
144 | 147 |
|
145 | 148 | - 蒲公英等分发平台(就是需要提供参与app测试人员的设备UDID) 缺点:开发者需要将这些设备的UDID添加到开发者中心,每次有新的测试人员加入,需要重新生成profiles |
146 | 149 |
|
147 | 150 | - TestFlight进行App Beta版测试 (apple 官方,iOS8及以上版本的iOS设备才能运行): |
148 | | -> 优点: 无需UUID,**外部测试人员的上限是10000人**(2018年后又扩大了测试上限),只需要参与app测试人员提供一个邮箱 |
| 151 | + - 优点: 无需UUID,**外部测试人员的上限是10000人**(2018年后又扩大了测试上限),只需要参与app测试人员提供一个邮箱 |
| 152 | + - |
149 | 153 |
|
150 | 154 | </details> |
151 | 155 |
|
152 | | -## Xcode8-自动配置开发证书过程? |
| 156 | +## Xcode8开始后自动配置开发证书过程? |
153 | 157 |
|
154 | 158 | <details> |
155 | 159 | <summary> 参考内容 </summary> |
|
0 commit comments