造成次崩溃的原因有很多,所以决绝起来十分麻烦,小编用过的方法有:
-
pod update
-
模拟器的问题,不应该选64位的模拟器,选个32位的就可以了!看来自己的问题只能自己解决了,看到别人的方案,自己也得支脑筋!~
-
把 Valid Architectures 的值改为 armv7
过程:
PROJECT --> Build Settings --> Architectures --> Valid Architectures 他的值本来是 armv7 armv7s (ios6.0下) 把armv7s 去掉即可
同样的操作
TARGETS --> Build Settings --> Architectures --> Valid Architectures 做同样的修改 -
重新导入第三方库
-
由于类名重复造成此种崩溃,找到类名相同的两个类修改其中一个类名
实例
1.Debug-iphonesimulator/MBProgressHUD/libMBProgressHUD.a(MBProgressHUD.o)ld: 14 duplicate symbols for architecture x86_64
1.png方法:由于有人在其他地方拖入了这个库,所以我用cocopods导入时造成文件重复,删除其中一个即可
2. 导入ShareSDK时报错
Undefined symbols for architecture x86_64:
"OBJC_CLASS$_QQApiInterface", referenced from:
objc-class-ref in AppDelegate.o
"OBJC_CLASS$_TencentOAuth", referenced from:
objc-class-ref in AppDelegate.o
"OBJC_CLASS$_WeiboApi", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Xcode升级到6.1.1 默认让所有App都通过64位编译器编译。原来在Xcode6.0的时候默认的Architectures只有(arm7,armv7s),到6.1.1默认就带上arm64的参数了。
3.png
- 把1.选中Targets—>Build Settings—>Architectures。
把build active architectures only 改为 NO。 - 把最下面的Valid Architectures中的arm64参数删掉就可以了
或者:
双击Architectures,选择other,删除
$(ARCH_STANDARD),然后增加armv7和armv7s(写上:$(ARCHS_STANDARD_32_BIT))。 - clean 再build。
结果设置如下图:
4.png
网友评论