我正在为我的应用程序实现文档提供程序扩展,以便允许在应用程序之间导入/导出/移动文件.
我创建了我的主要应用程序,并将文档提供程序和文件提供程序扩展添加到项目中,检查它们是否在每个目标的Capabilities中都构成同一个App Group Identifier的一部分.
文档提供商目标的信息标注具有以下设置:
<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>
<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作为主机应用程序.
我在这里遗漏了什么吗?