使用 Monkey Talk iOS 构建创建问题

Posted

技术标签:

【中文标题】使用 Monkey Talk iOS 构建创建问题【英文标题】:Build creation issue with monkey talk iOS 【发布时间】:2014-05-30 20:51:33 【问题描述】:

通过我的 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 就可以成功创建构建,但是这次 Monkey talk 无法与应用程序通信。

-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

欢迎任何形式的提示建议。

问候,

【问题讨论】:

谁能给我一些提示,如果他们愿意,任何人都可以询问更多细节。 最好提供否决票的理由不要只是这样做。如果你知道这个问题的答案告诉我。 【参考方案1】:

所以我会假设这在以前是有效的,但现在它已经坏了。我在尝试构建链接到的目标 monkeyTalk 时遇到了这个问题。我不得不去链接器。目标->构建设置->链接。

我删除了 -all_load 链接并从 prod 目标加载了必要的链接并重新构建。然后我看到了monkeytalk lib加载。

我还假设您通过他们网站上的 ios 文档设置了 monkeytalk。

我并不是说这会解决你的问题,但我认为这会让你朝着正确的方向前进。

最好的,

【讨论】:

所以你从构建设置中删除了 -all_load 和 -ObjC 链接命令。然后你如何能够稍后加载猴子谈话文件。你如何确定你的猴子谈话文件已加载。跨度> 控制台输出告诉我它正在运行monkeytalk代理。测试运行的事实也有帮助。

以上是关于使用 Monkey Talk iOS 构建创建问题的主要内容,如果未能解决你的问题,请参考以下文章

monkey测试===ios-monkey测试工具

Reactjs+BootStrap开发自制编程语言Monkey的编译器:创建简易的页面IDE

如何用monkey测试IOS

微服务架构下运维平台构建经验分享 | Open Talk No.29

一起talk C栗子吧(第一百三十四回:C语言实例--创建线程时的内存细节)

一起talk C栗子吧(第一百三十三回:C语言实例--创建进程时的内存细节)