【发布时间】:2013-06-27 18:05:56
【问题描述】:
我更新了我的应用程序的info.plist 文件以反映新的文件类型(称为.ftl)。
当我将这种类型的文件附加到电子邮件时,iOS 会将该文件类型识别为可以传递给我的应用程序的文件类型(当在电子邮件中触摸文件时会出现我的应用程序图标)。但是,当我选择图标时,我的应用程序无法启动。
在我的应用委托中,我使用application:openURL:sourceApplication:sourceApplication annotation: 委托方法来处理关联的NSURL。当我NSLog这个方法时,很明显该方法没有被调用。
有什么想法吗?我已经在 iOS 4 中进行了这项工作。然后我升级了 Xcode 以针对运行 iOS 6 的 iPad 进行测试,并遇到了这个死胡同。我的应用程序的其余部分运行良好。
根据 Rob 的要求,这里是我的 info.plist 文件中的 CFBundleDocumentTypes 和 UTExportedTypeDeclarations。谢谢:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>LSItemContentTypes</key>
<array>
<string>com.yourcompany.blinkapp.ftl</string>
</array>
<key>CFBundleTypeName</key>
<string>Blink FTL Sheet</string>
<key>LSHandlerRank</key>
<string>Owner</string>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeDescription</key>
<string>Blink FTL Sheet</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.text</string>
</array>
<key>UTTypeIdentifier</key>
<string>com.yourcompany.blinkapp.ftl</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>ftl</string>
</dict>
</dict>
</array>
我还尝试在我的 UTTypeConformsTo 中使用 public.data 而不是 public.text。同样的问题。
【问题讨论】:
-
也许那些因为“不清楚你在问什么”而投票结束这个问题的人可以发表评论,因为我觉得这个问题非常清楚,即使问题的根源不是.如果您对如何使这个问题更清楚有任何建议,请分享。