ReactiveCocoa 关于在arm64真机运行的有关问题解决

ReactiveCocoa 关于在arm64真机运行的问题解决

在 arm64 真机(如:iPhone5s等)测试 ReactiveCocoa 的时候,突然出现了一些关于 :Symbol(s) not found for architecture arm64 的报错,花了一点时间找出了问题的解决,下面记录一下:

1、由于在 iPhone5s 等 arm64 设备运行的时候,Build Settings 中的 Architectures 默认都是:Standard architectures (including 64-bit) (ARMv7, armv7s, arm64)

2、测试例子中,所有的依赖库都是使用 CocoaPods 下载的,但是 CocoaPods 下的所有项目是不支持 64 位的。在 stack overflow :点击打开链接 其中有一个回答中提到:The issue is that the cocoapods have not been built for arm64 architecture yet thus they cannot be linked when you build them.

3、那么就需要对CocoaPods pod 下来的 target 的 architectures 设置为:Standard architectures (ARMv7, armv7s)

ReactiveCocoa  关于在arm64真机运行的有关问题解决

4、还有一点需要注意的是自己 project 的 target 也是要设置为:Standard architectures (ARMv7, armv7s)Standard architectures (ARMv7, armv7s)

ReactiveCocoa  关于在arm64真机运行的有关问题解决

5、对于 FRP 和 Pods 两个 PROJECT 下的 Architectures 设置选择 arm7 或者 arm64 都可以。

ReactiveCocoa  关于在arm64真机运行的有关问题解决

6、最后,其实解决的方案总结为一点,项目中所有 Architectures 都设置为 arm7 的就可以了,反正是向下兼容,这样就不用考虑这么多了。