通过我的 Jenkins 服务器,我自动使用猴子谈话相关的 jar 对我的 iOS 项目进行检测。一旦完成,然后通过 ant (.xml),应用程序会自动触发烟雾测试。
xcodebuild -project app/XXX.xcodeproj -target XXX1 VALID_ARCHS=i386 -arch i386 -configuration Debug -sdk iphonesimulator7.1 -xcconfig /opt/monkeytalk/MonkeyTalk.xcconfig build
下面是 .xconfig 文件内容。现在,当我保持这个配置文件不变时,构建失败(通过 Jenkins 触发)。
OTHER_LDFLAGS = $(inherited) -force_load /opt/monkeytalk/libMonkeyTalk.a -force_load /opt/monkeytalk/xxx.a -framework CFNetwork -framework QuartzCore -lsqlite3
但是一旦我将 .xconfig 文件更改为以下语句,Jenkins 就成功创建了构建,但是这次猴子谈话无法与应用程序通信。
-force_load /opt/monkeytalk/libMonkeyTalk.a -force_load /opt/monkeytalk/xxx.a -framework CFNetwork -framework QuartzCore -lsqlite3
以下是此问题的一些日志语句
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_XXXCrashManager", referenced from:
objc-class-ref in AppDelegate.o
objc-class-ref in UIViewController+Breadcrumbs.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
** BUILD FAILED **
The following build commands failed:
Ld build/Debug-iphonesimulator/XXXXXX.app/XXXXX normal i386
欢迎任何形式的提示建议。
问候,