我更新info.plist
了我的应用程序文件以反映新的文件类型(称为.ftl
)。
当我将这种类型的文件附加到电子邮件时,iOS 会将该文件类型识别为可以传递给我的应用程序的文件类型(当在电子邮件中触摸文件时会出现我的应用程序图标)。但是,当我选择图标时,我的应用程序不会启动。
在我的 App 委托中,我使用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。同样的问题。