如何解决XCode 4中的PLCrashReporter-不会在模拟器中编译
| 我必须在这里做的事情完全是愚蠢的,但是我的项目中没有包含PLCrashReporter框架。这是我为获取框架而采取的步骤: 从Google官方项目网站上下载了.dmg文件 将CrashReporter.framework文件夹复制到项目的根目录中 通过转到我的项目,选择目标,转到“构建阶段”选项卡,打开“使用库链接二进制文件”部分,单击加号,并添加CrashReporter.framework文件夹来添加框架。 我通过使用在我的类文件中拉入框架#import <CrashReporter/CrashReporter.h>
当我尝试在4.3模拟器下进行编译时,出现以下错误:
体系结构i386的未定义符号:
\“ _ OBJC_CLASS _ $ _ PLCrashReporter \”,引用自:
AppDelegate + CrashReporting.o中的objc-class-ref
\“ _ OBJC_CLASS _ $ _ PLCrashReport \”,引用自:
AppDelegate + CrashReporting.o中的objc-class-ref
ld:找不到体系结构i386的符号
clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
当我在设备下编译时,一切都很好。我需要包括某种标题或库搜索路径吗?
该应用程序在XCode 3下编译,在所有配置下均无问题。
解决方法
我有同样的问题,并能够解决。这是我完成的步骤...
下载PLCrashReporter源代码发行版并解压缩。
打开PLCrashReporter xcode项目。该项目设置为使用旧的SDK,为每个目标更新所有必需的SDK,以消除警告。在下一步中也需要编译。
导航到CrashReporter-iPhoneSimulator目标。在“构建设置”下:a)将“执行单对象预链接”设置为“否”,b)将“ Mach-O类型”设置为“静态库”。
选择CrashReport-iPhoneSimulator:[IOS模拟(即iPhone 4.3模拟器)],然后单击build。
导航到PLCrashReporter的构建目录。对我来说,它是/ Users / username / Library / Developer / Xcode / DerivedData / CrashReporter-(随机字符)/ Build / Products / Debug-iphonesimulator
将步骤5中的build目录中的libCrashReporter-iphonesimulator.a复制到要将崩溃报告程序添加到的iphone应用程序项目目录。
在xcode中打开您的iPhone应用程序项目。
下载PLCrashReporter二进制发行版,然后将框架提取到本地目录。
使用此SO帖子将CrashReporter框架添加到您的项目中。
按照与步骤9相同的过程,将libCrashReporter-iphonesimulator.a静态库添加到构建阶段的“使用库链接二进制文件”部分。添加静态库时不需要* .framework目录。
查看目标中的“使用库链接二进制文件”。确保libCrashReporter-iphonesimulator.a在CrashReporter框架上方列出。您可以拖放以重新排序。
我希望这有帮助。
, 对于寻找此信息的其他人:
我遵循了上面给出的相同步骤,但是却出现了错误。我删除了静态库,只包含了框架(可以从他们的dmg中获得)。
它对我来说非常有效。我认为通过构建项目来创建静态库的过程很旧(在他们创建框架之前)。
谢谢。
, 不要忘记包括
libstdc ++。dylib
在“使用库链接二进制文件”中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。