Xcode &引用;dyld:库未加载“;在设备上的tvOS顶部机架扩展中使用Alamofire时出错

Xcode &引用;dyld:库未加载“;在设备上的tvOS顶部机架扩展中使用Alamofire时出错,xcode,cocoapods,alamofire,tvos,Xcode,Cocoapods,Alamofire,Tvos,我已经为我的tvOS应用程序构建了一个新的应用程序。它在模拟器中正常工作。当我在设备上运行它(运行tvOS beta 3的开发工具包)并尝试加载顶层扩展时,我的应用程序会出现致命错误: dyld: Library not loaded: @rpath/Alamofire.framework/Alamofire Referenced from: /private/var/mobile/Containers/Bundle/Application/5EF46962-235C-4330-9723-6

我已经为我的tvOS应用程序构建了一个新的应用程序。它在模拟器中正常工作。当我在设备上运行它(运行tvOS beta 3的开发工具包)并尝试加载顶层扩展时,我的应用程序会出现致命错误:

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
我使用的是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的问题。我被卡住了。

我想你需要在你的播客文件中有这个:

link_with 'MyAppName'

我使用过Alamofire,当它与这个tvOs项目一起使用时,它可以显示找到的YouTube视频。

事实证明,您还必须在主目标中包含扩展所需的播客。它现在对我有效,下面是我的
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

我学会了共享的技巧。

你需要从开发者帐户中删除你的设备和资源调配证书,并为两者创建新证书。创建证书后,下载该证书并拖动到密钥链访问中。现在,您可以看到名为的新证书(不要忘记删除以前的证书并将其从密钥链中删除),因此,现在您的工作已经完成,请转到:-

  • 转到xcode选择团队开发人员帐户
  • 转到代码登录选择为ios开发者(在代码签名标识中,为调试和发布的任何ios sdk选择开发者配置文件)
  • 将嵌入内容包含swift代码设置为默认为
  • 从设备中删除应用程序
  • Shift+Command+k清理构建
  • 命令+B创建新版本
  • 一旦构建成功,现在就可以运行(Command+R)并且工作正常

  • 这似乎对我不起作用。我遇到了与@Jeff相同的问题。谢谢你的建议@frakman1<代码>链接到对我来说不起作用。通过在扩展目标和我的主目标中都包含吊舱,使其正常工作。查看我刚才添加的答案,@nortchuck.Note不再需要指定tvOS分支,因为它已与主分支合并。