ios - 应用扩展找不到图像

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

在我的应用程序扩展中,我有以下代码行:

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

由于解包一个 nil 可选值而在运行时崩溃。这是一个简单的调用,所以它不应该失败。作为引用,这是应用程序扩展的根目录,它显示这些图像确实捆绑在:enter image description here 中。

所以如果我知道图像的名称,并且我知道它在包中,为什么这个调用会失败?

最佳答案

调用 Bundle.main() 可以获得主包——包含正在运行的应用程序的包。在应用程序扩展中,这不是您要查找的 bundle 。

要为您的应用程序扩展(或框架,或任何其他非应用程序目标)获取 bundle ,请使用:

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

关于ios - 应用扩展找不到图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37913320/

相关文章:

objective-c - iOS调出WiFi认证表

objective-c - 请求访问联系人(日历、提醒、Facebook 等)自定义消息

iphone - UIImage imageNamed : does not find image within blue referenced Xcode-folder

ios - Realm Platform 数据未通过 Storyboard-Swift 4 加载到 TableView 中

iOS:将图像添加到 UIButton,然后将按钮放入 ScrollView ,但只能看到一张图像?

ios - FetchedResults 不会触发和 SwiftUI 更新,但上下文会成功保存它

ios - 从自定义类调用 View Controller 方法

ios - 为什么 tableview 数据源没有从 Realm Collection 观察者中改变?

swift - 我的类可以覆盖 Swift 中的协议(protocol)属性类型吗?

ios - UITextField NSForegroundColor 在屏幕旋转 Swift 后变为透明