2014-10-18 66 views
1

我将Crashlytics安装到我的应用程序上,并在我的本地机器上完美地构建。符号链接在TFS中搞砸了

但推入到TFS存储库后,Jenkins构建服务器无法构建项目。

我有两个安装试验: -

1普通设置(即拖动.framework文件转换成凸出)

我得到这个错误: -

fatal error: 'Crashlytics/Crashlytics.h' file not found

import 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符号链接会打开版本/电流/ Crashlytics的文本文件)

回答

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"

希望有一天能帮助别人。