【发布时间】:2012-02-25 14:55:02
【问题描述】:
我希望用户能够在 Safari 中单击 GPX 文件的链接,并将它们导入我的应用程序。
我有这样的工作 - 我可以访问一些网站,单击 GPX 文件,它会给我在我的应用程序中打开的选项。
但是,某些 GPX 文件(包括我在本地计算机上托管的一个简单 GPX 文件)不会以这种方式打开。在注册 GPX 文件类型时我可能做错了什么?
这是我的 plist 代码:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>GPSXML File</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>CFBundleTypeIconFile</key>
<string>gaia-icon.png</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSItemContentTypes</key>
<array>
<string>public.utf8-plain-text</string>
<string>com.apple.dt.document.gpx</string>
<string>com.trailbehind.gpx</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeIdentifier</key>
<string>com.trailbehind.gpx</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.mime-type</key>
<string>text/plain; charset=UTF-8</string>
<key>public.filename-extension</key>
<string>gpx</string>
</dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.content</string>
<string>public.item</string>
<string>public.data</string>
<string>public.xml</string>
<string>public.text</string>
</array>
<key>UTTypeDescription</key>
<string>GPSXML</string>
</dict>
</array>
<key>UIFileSharingEnabled</key>
<true/>
【问题讨论】:
-
我怀疑工作和不工作的站点之间的区别在于它们提供文件的 MIME 类型。检索整个 HTTP 响应,包括来自两种站点的标头,并比较应该揭示发生了什么的“Content-Type”标头。我是从第一个 HTTP 原则来回答这个问题,而不是从任何有关 iOS 应用程序中 URL 处理的专业知识来回答这个问题,所以这就是我所能做的。
-
你最后得到的解决方案在iOS13上还能用吗?如果是这样,如果你能分享你的所作所为,我会非常高兴
标签: iphone objective-c ios ipad