我正在尝试实现共享扩展,该共享扩展会将PhotoLibrary中的图像发布到我的App中。但是我一直遇到这个错误:
2019-01-13 10:57:14.272148-0800 deegeu-swift-share-extensions-image-share[11664:1341769]
[default] [ERROR] Failed to determine whether URL /var/mobile/Media/PhotoData/OutgoingTemp/F49538B5-7AD5-46EA-BC0E-CEC304DEEB64/IMG_4293.JPG (s)
is managed by a file provider.
这是我尝试使用的确切项目源代码:Github Project 这是我密切关注的步骤:Video Tutorial
我的系统信息:iOS 12.1
,iPhone 6s
。
我已在Xcode中将项目信息(例如App Group,开发者资料)更新为我自己的信息。
可能是什么原因?
答案 0 :(得分:1)
请尝试在真实设备上运行。
我尝试在模拟器中从存储库中运行代码,并遇到提到的错误。但是,当我在真实设备中运行该应用程序时,我能够实现所需的功能,如视频所示。
请注意,在设备上运行时,您需要设置正确的捆绑包标识符,应用组名称等。
您还需要在RedViewController,BlueViewController和ShareViewController swift文件中更改App组名称引用。
完成后,请同时运行主应用程序和扩展程序(在Xcode要求时选择主应用程序),您应该已启动并运行
答案 1 :(得分:1)
我认为,“照片”应用程序正在出现打印错误。对我有用的解决方案是:
itemProvider.loadItem(forTypeIdentifier: kUTTypePNG as String) { [unowned self] (imageData, error) in
if let item = imageData as? NSURL {
let data = NSData(contentsOf : item as URL)
let image = UIImage(data : data! as Data)
print(image)
} else {
if let item = imageData as? UIImage{
print(item)
}
}
}
错误在那里仍然存在,但是我创建了我需要的UIImage实例。第一个条件是要从“照片”应用共享,否则我将获得正确的图像。