我正在尝试为我的应用程序实现一个文档提供程序扩展,以便允许在应用程序之间导入/导出/移动文件。
我已经创建了我的主应用程序,并将文档提供程序和文件提供程序扩展名添加到项目中,检查它们在每个目标的功能中是否都构成相同的app Group Identifier的一部分。
文档提供程序目标的信息plist具有以下设置:
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>UIDocumentPickerModes</key>
<array>
<string>UIDocumentPickerModeImport</string>
<string>UIDocumentPickerModeExportToService</string>
<string>UIDocumentPickerModeMoveToService</string>
</array>
<key>UIDocumentPickerSupportedFileTypes</key>
<array>
<string>public.content</string>
</array>
</dict>
<key>NSExtensionMainStoryboard</key>
<string>Main</string>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.fileprovider-ui</string>
</dict>而文件提供程序的info.plist具有以下内容:
<dict>
<key>NSExtensionFileProviderDocumentGroup</key>
<string>group.com.myAppGroupId</string>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.fileprovider-nonui</string>
<key>NSExtensionPrincipalClass</key>
<string>$(PRODUCT_MODULE_NAME).FileProvider</string>
</dict>我使用创建目标时生成的UIDocumentPickerExtensionViewController子类和NSFileProviderExtension子类的默认实现,并且我在每个方法中都设置了断点,以测试它们是否正确运行。
但当我尝试运行文档提供程序时,我无法在可用于共享文档的应用程序列表中显示我的应用程序。我已经用我的设备和模拟器进行了测试,选择了iPhoto和Pages作为主机应用程序。
我是不是漏掉了什么?
发布于 2015-02-17 20:45:39
请确保您的应用群组常量与为文件提供商的info.plist编写的应用群组常量相同
<key>NSExtensionFileProviderDocumentGroup</key>
<string>group.com.myAppGroupId</string>这种情况发生在我身上,但当我将其更改为上面正确的应用组名称时,选择器开始工作。
谢谢,
Vsh
https://stackoverflow.com/questions/27647562
复制相似问题