问题的起因
我初始化了一个项目,项目中使用pod管理第三方工具(其中安装了shareSDK,集成了weixin,微博和QQ),由cornerstone 上传至仓库,然后checkout 到本地文件.上传的时候运行正常,但是checkout 到本地的时候就遇到link错误.
显示如下:
Undefined symbols for architecture armv7:
"OBJC_CLASS$_WeiboSDK", referenced from:
objc-class-ref in AppDelegate.o
"OBJC_CLASS$_WXApi", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我查阅了相关文章,大致主要的原因是
项目 Target 中的一些设置,CocoaPods 也做了默认的设置,如果两个设置结果不一致,就会造成问题。
网上的有些文章是是这样解决问题:
CocoaPods 错误 target overrides the OTHER_LDFLAGS
但是我尝试相关的操作没效果.pod setting操作是不可见的,所以pod 也不知道做了什么样的配置.
所以我尝试用pod 删除 报错的第三方工具
-
打开终端
-
vim Profile
-
删除掉报错的第三方
删除掉错误代码 -
保存退出,执行pod install --verbose --no-repo-update 删除第三方
查看项目,删除完成
Snip20161205_3.png -
然后将报错的第三方工具再添加进去.
pod安装,执行pod install --verbose --no-repo-update 重新安装第三方
Snip20161205_7.png -
从新运行项目,最终编译通过.
网友评论