我将Crashlytics安装到我的应用程序上并在我的本地计算机上完美构建。
但是在推入TFS存储库之后,Jenkins构建服务器无法构建项目。
我有两个设置试验: -
1-正常设置(即将.framework文件拖放到项目中)
我收到此错误: -
致命错误:找不到'Crashlytics / Crashlytics.h'文件
导入Crashlytics / Crashlytics.h
^ 1 error generated.
2-通过CocoaPods安装
我收到此错误: -
file was built for unsupported file format ( 0x56 0x65 0x72 0x73 0x69 0x6F 0x6E 0x73 0x2F 0x43 0x75 0x72 0x72 0x65 0x6E 0x74 ) which is not the architecture being linked (armv7): {PATH}/CrashlyticsFramework/Crashlytics.framework/Crashlytics
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_Crashlytics", referenced from:
objc-class-ref in ViewController.o
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)
有关如何修复此错误的任何线索吗?
**更新**
我注意到Crashlytics.framework中的符号链接都搞砸了(即Crashlytics符号链接打开带有Versions / Current / Crashlytics的文本文件)
答案 0 :(得分:3)
好的我有点修理了。 看起来TFS在符号链接方面效果不佳,因此Crashlytics.framework在Jenkins上搞砸了。
所以为了解决这个问题,我添加了这个脚本文件 FixCrashlytics.sh ,其中包含以下内容: -
pushd "${WORKSPACE}"/Crashlytics.framework/Versions ln -sfn A Current popd pushd "${WORKSPACE}"/Crashlytics.framework ln -sfn Versions/Current/Headers Headers ln -sfn Versions/Current/Resources Resources ln -sf Versions/Current/Crashlytics Crashlytics popd
然后我在构建执行Shell
中运行以下行
sh "${WORKSPACE}/FixCrashlytics.sh"
希望有一天能帮助别人。