我为我的tvOS应用程序构建了一个Top Shelf Extension。它在模拟器中正常工作。当我在设备上运行它(开发套件运行tvOS beta 3)并尝试加载Top Shelf Extension时,我的应用程序出现致命错误:
dyld: Library not loaded: @rpath/Alamofire.framework/Alamofire
Referenced from: /private/var/mobile/Containers/Bundle/Application/5EF46962-235C-4330-9723-623E80E3D8BE/MyApp.app/PlugIns/MyApp TV Services Extension.appex/MyApp TV Services Extension
Reason: image not found
我正在"tvOS" branch使用Xcode 7.1 beta 3,Cocoapods 0.39.0和Alamofire 3.0.0。我的Podfile
如下:
platform :tvos, '9.0'
use_frameworks!
target 'MyApp' do
end
target 'MyApp TV Services Extension' do
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'tvOS'
pod 'SwiftyJSON', :git => 'https://github.com/jeffbowen/SwiftyJSON.git', :commit => 'fa3fc27c14602e43f69e8d70da4fc2f9a084a987'
end
不确定这是否是Alamofire,Cocoapods或tvOS beta 3的问题。我被卡住了。
答案 0 :(得分:1)
原则上你必须在主目标中包含扩展所需的pod。它现在正在为我工作,这就是我Podfile
的样子:
platform :tvos, '9.0'
use_frameworks!
def shared_pods
pod 'Alamofire', '~> 3.0'
pod 'SwiftyJSON', :git => 'https://github.com/jeffbowen/SwiftyJSON.git', :commit => 'fa3fc27c14602e43f69e8d70da4fc2f9a084a987'
end
target 'MyApp' do
shared_pods
end
target 'MyApp TV Services Extension' do
shared_pods
end
我学会了shared_pods
技巧here。
答案 1 :(得分:1)
您需要从开发者帐户中删除设备和配置配置证书,并为这两者创建新证书。创建证书后下载该证书并拖入密钥链访问。现在你可以看到你带有名字的新证书(不要忘记删除以前的证书并从密钥链中删除)所以现在你的工作已经完成并转到: -
答案 2 :(得分:0)