尝试在 Xcode 6.4 中定义 GPX 文档类型
Trying to define GPX document type in Xcode 6.4
我正在尝试定义 GPX 文档类型,以便我可以从其他应用程序打开 gpx 文件类型。我已关注 Apple 关于此主题的 Technical Q&A。
我也尝试过直接编辑 plist 文件的解决方案。 None 成功了。当我尝试打开 gpx 文件时,我仍然没有在 "Open In" 菜单中看到我的应用程序。我很确定我在这里遗漏了一些东西。我只是不知道它是什么。请帮忙。
<key>UTImportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.xml</string>
</array>
<key>UTTypeDescription</key>
<string>GPS Exchange Format (GPX)</string>
<key>UTTypeIdentifier</key>
<string>com.topografix.gpx</string>
<key>UTTypeReferenceURL</key>
<string>http://www.topografix.com/GPX/1/1</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>gpx</string>
</array>
<key>public.mime-type</key>
<string>application/gpx+xml</string>
</dict>
</dict>
</array>
确保在 plist 中定义 GPX 的 UTI,因为它没有定义为默认 iOS UTI 的一部分。您可以通过将 GPX UTI 添加到您的目标来执行此操作。
- Select 你的项目文件
- select 你的目标
- select "Info"
- 展开“导入 UTI
- 单击 + 图标
- 添加 GPX UTI 信息
如果需要,您也可以直接编辑 plist。
它应该是这样的:
在 plist 中它看起来像这样:
<key>UTImportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeIdentifier</key>
<string>com.topografix.gpx</string>
<key>UTTypeReferenceURL</key>
<string>http://www.topografix.com/GPX/1/1</string>
<key>UTTypeDescription</key>
<string>GPS Exchange Format (GPX)</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.xml</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>gpx</string>
</array>
<key>public.mime-type</key>
<string>application/gpx+xml</string>
</dict>
</dict>
</array>
关于 this blog 的好信息...
更新
我假设您已经在 plist 中定义了文档类型。它应该匹配:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string>GPS Exchange Format (GPX)</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.topografix.gpx</string>
</array>
</dict>
</array>
同时实现 CFBundleDocumentTypes
到 plist 允许您的应用程序在空投内容符合您的 UTI 时打开。
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string>GPX File</string>
<key>LSHandlerRank</key>
<string>Default</string>
<key>LSItemContentTypes</key>
<array>
<string>com.your-Bundle-Idenitifer.gpx</string>
</array>
</dict>
</array>
我正在尝试定义 GPX 文档类型,以便我可以从其他应用程序打开 gpx 文件类型。我已关注 Apple 关于此主题的 Technical Q&A。
我也尝试过直接编辑 plist 文件的解决方案。 None 成功了。当我尝试打开 gpx 文件时,我仍然没有在 "Open In" 菜单中看到我的应用程序。我很确定我在这里遗漏了一些东西。我只是不知道它是什么。请帮忙。
<key>UTImportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.xml</string>
</array>
<key>UTTypeDescription</key>
<string>GPS Exchange Format (GPX)</string>
<key>UTTypeIdentifier</key>
<string>com.topografix.gpx</string>
<key>UTTypeReferenceURL</key>
<string>http://www.topografix.com/GPX/1/1</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>gpx</string>
</array>
<key>public.mime-type</key>
<string>application/gpx+xml</string>
</dict>
</dict>
</array>
确保在 plist 中定义 GPX 的 UTI,因为它没有定义为默认 iOS UTI 的一部分。您可以通过将 GPX UTI 添加到您的目标来执行此操作。
- Select 你的项目文件
- select 你的目标
- select "Info"
- 展开“导入 UTI
- 单击 + 图标
- 添加 GPX UTI 信息
如果需要,您也可以直接编辑 plist。
它应该是这样的:
在 plist 中它看起来像这样:
<key>UTImportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeIdentifier</key>
<string>com.topografix.gpx</string>
<key>UTTypeReferenceURL</key>
<string>http://www.topografix.com/GPX/1/1</string>
<key>UTTypeDescription</key>
<string>GPS Exchange Format (GPX)</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.xml</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>gpx</string>
</array>
<key>public.mime-type</key>
<string>application/gpx+xml</string>
</dict>
</dict>
</array>
关于 this blog 的好信息...
更新
我假设您已经在 plist 中定义了文档类型。它应该匹配:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string>GPS Exchange Format (GPX)</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.topografix.gpx</string>
</array>
</dict>
</array>
同时实现 CFBundleDocumentTypes
到 plist 允许您的应用程序在空投内容符合您的 UTI 时打开。
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string>GPX File</string>
<key>LSHandlerRank</key>
<string>Default</string>
<key>LSItemContentTypes</key>
<array>
<string>com.your-Bundle-Idenitifer.gpx</string>
</array>
</dict>
</array>