我正在尝试使用 CocoaPods 集成 HockeyApp 和 JIRA Mobile Connect,但 armv7 的链接失败。CrashReporter 框架似乎已经到位,但它抱怨一些 PLCrashReporter 符号在 armv7 架构中找不到。
我对项目所做的更改是在 Podfile 中将 TestFlight SDK 替换为 HockeyApp SDK。
有关如何解决链接问题的任何建议?还没试过放回TestFlight SDK,项目是基于iOS 7 SDK的。
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_PLCrashReporter", referenced from: objc-class-ref in CrashReporter.o
"_OBJC_CLASS_$_PLCrashReporter", referenced from: objc-class-ref in CrashReporter.o
ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)
这就是我的 Podfile 的外观,我有一个安装后挂钩将 Base SDK 设置为 iOS 7.1。如果我不这样做,我会在导入 Metal 框架时遇到一些问题。
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'
target 'HockeyWithJira' do
pod 'HockeySDK', '~> 3.6'
pod 'JIRAConnect', '~> 1.2.1'
end
# Post install hook
post_install do | installer |
# Force iOS 7.1 SDK as "Base SDK" for Pods config
installer.project.build_configurations.each do |config|
config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
config.build_settings['SDKROOT'] = 'iphoneos7.1'
end
# Force iOS 7.1 SDK as "Base SDK"
installer.project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
config.build_settings['SDKROOT'] = 'iphoneos7.1'
end
end
end
我现在有一个解决方法,不幸的是我现在必须手动管理 JIRA Connect 库,而不是使用不理想的 CocoaPod。