代码之家  ›  专栏  ›  技术社区  ›  modeller

共享扩展Post photo:无法确定URL是否由文件提供程序管理

  •  0
  • modeller  · 技术社区  · 5 年前

    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 .

    原因是什么?

    2 回复  |  直到 5 年前
        1
  •  1
  •   Karlicic Bojan    5 年前

    打印的错误,我想,是来自照片应用程序。对我有效的解决方案是:

      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实例。第一个条件是从照片分享应用程序,否则我得到正确的图像。

        2
  •  1
  •   humblePilgrim    5 年前

    我试图在模拟器中运行存储库中的代码,但遇到了上面提到的错误。但当我在一个真实的设备上运行这个应用程序时,我能够实现视频中显示的所需功能。

    请注意,在设备中运行时,您需要设置正确的包标识符、应用程序组名称等。

    您还需要更改RedViewController、BlueViewController和ShareViewController swift文件中的应用程序组名引用。