ios - 尝试在 Xcode 6.4 中定义 GPX 文档类型

标签 ios xcode gpx

我正在尝试定义一个 GPX 文档类型,以便我可以从其他应用程序打开 gpx 文件类型。我关注了 Apple 的 Technical Q&A关于这个话题。

我也尝试过我发现直接编辑 plist 文件的解决方案。他们都没有工作。当我尝试打开 gpx 文件时,我仍然没有在“打开方式”菜单中看到我的应用程序。我很确定我在这里遗漏了一些东西。我只是不知道它是什么。请帮忙。

    <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 添加到您的目标来执行此操作。

  1. 选择您的项目文件
  2. 选择你的目标
  3. 选择“信息”
  4. 展开“导入 UTI”
  5. 点击 + 图标
  6. 添加 GPX UTI 信息

如果需要,您也可以直接编辑 plist。

它应该是这样的: enter image description here

在 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>

关于ios - 尝试在 Xcode 6.4 中定义 GPX 文档类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31163785/

相关文章:

ios - 如何更改 imagepickercontroller ios 状态栏的颜色?

ios - "Preloading"Swift 中带键的字典

ios - (iOS) 音乐文件停止时的操作

ios - 如何在 swift 中引用 subview 层次结构

objective-c - 为什么 NSApplicationDelegate 方法 openFiles : is being called multiple times on a multiple drag to the dock icon?

python - 使用lxml和xpath读取GPX

iphone - 核心数据 : Find the property of NSEntity Objects in NSMutableSet

ios - 在导航 Controller 上推送时 View 变暗

gpx - Strava (GPX) <type></type> 元素是什么意思?

ios - 确定 GPS 位置是否在 gpx 航迹段内