App Extension无法找到图片

时间:2016-06-20 00:45:03

标签: ios swift cocoa-touch ios-app-extension

在我的App扩展中,我有以下代码行:

fileURL = Bundle.main().urlForResource("Heads", withExtension: nil)!

由于解包nil可选而在运行时崩溃。这是一个简单的电话,所以它不应该失败。作为参考,这里是应用扩展的根,它显示这些图像确实捆绑在:enter image description here

因此,如果我知道图像的名称,并且我知道它在捆绑中,为什么这个呼叫失败?

1 个答案:

答案 0 :(得分:1)

调用Bundle.main()可以获取主要包 - 包含正在运行的应用的那个。在应用扩展程序中,这不是您正在寻找的捆绑包。

要获取应用扩展程序(或框架或任何其他非应用程序目标)的捆绑包,请使用以下任一方法:

  • Bundle(for:),传递特定于应用扩展程序的类,或
  • Bundle(identifier:),传递捆绑包的标识符(" com.example.myapp.myextension",例如)

此外,确保构建时所需的资源会进入扩展程序包。您的扩展程序无法加载属于您应用的资源,反之亦然。