我正在开发一个 iOS 应用程序,该应用程序允许通过电子邮件发送文件来导出其数据。该应用程序将文件类型注册为具有扩展名“sainputs”的文件(这样应用程序还可以从电子邮件或保管箱打开文件以导入值 - 这工作正常)。我正在尝试添加将文件发送到可以打开其他类型文件的任何其他应用程序的可能性。Dropbox 就是一个很好的例子——它应该能够打开任何类型的文件。
我目前正在通过显示一个使用文件的 URL 初始化的 UIDocumentInteractionController 来尝试此操作。当它显示时,Dropbox 应用程序显示为打开文件的可用选项之一,正如预期的那样。
但是,当我按下 Dropbox 图标时,什么也没有发生,在控制台中我看到以下文本:
LaunchServices: Invalid LSOpenOperation request - No applications found to open document
在应用程序的 plist 文件中,它注册具有 UTI com.mycompany.myapp.sainputs 的文档类型,并注册具有标识符 com.mycompany.myapp.sainputs 的导出类型 UTI,具有公共文件扩展名“sainputs”和 MIME 类型 myapp /输入。
以下是 plist 文件的相关摘录:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>My App's File Type</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.mycompany.myapp.sainputs</string>
</array>
</dict>
<array>
.
.
.
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array/>
<key>UTTypeDescription</key>
<string>My App's File Type</string>
<key>UTTypeIdentifier</key>
<string>com.mycompany.myapp.sainputs</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>sainputs</string>
<key>public.mime-type</key>
<string>steuerapp/inputs</string>
</dict>
</dict>
<array>
我尝试在 plist 文件中将 MIME 类型更改为“application/octet-stream”。这并没有什么不同。
任何建议/想法将不胜感激。