通过我的Jenkins服务器,我自动使用与Monkey talk相关的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
欢迎提出任何暗示建议。
此致
答案 0 :(得分:0)
所以我会假设之前有效,但现在已经坏了。我试图建立目标monkeyTalk链接时遇到了这个问题。我不得不去链接器..目标 - >构建设置 - >链接。
我删除了-all_load链接并从prod目标加载了必要的链接并重建。然后我看到了monkeytalk lib加载。
我还假设您通过其网站上的ios文档设置了monkeytalk。
我不是说这会解决你的问题,但我认为这会让你朝着正确的方向前进。
最佳,