将自己的App注册到iOS,就要用到iOS文档处里的功能,我们注册我们的程序用来处理我们自己特殊的文档类型。
首先,我们要在Info.plist文件中设置Document types
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>myapp</string>
<key>LSHandlerRank</key>
<string>Default</string>
<key>LSItemContentTypes</key>
<array>
<string>com.customApp.myApp</string>
</array>
</dict>
</array>
属性说明:
CFBundleTypeName:文档的类型名称,这里我将分享的文件压缩打包成*.myapp格式
LSHandlerRank:这里指是否拥有子文档,这里我设置为default
LSItemContentTypes:这里填写你App的bundle identifier即可
然后我们来定义UTI:
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string></string>
</array>
<key>UTTypeIdentifier</key>
<string>com.customApp.myApp</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>myapp</string>
</dict>
</dict>
</array>
UTTypeIdentifier:这里填写自己App的
bundle identifier
public.filename-extension:这里填写你压缩包的扩展名。
OK,现在我们的应用就会出现在打开方式的列表中。知道了如何注册,那么如何处理获取到的文件呢?很简单,在-application:didFinishLaunchingWithOptions:方法中,添加如下的代码:
NSURL *url = (NSURL *)[launchOptions valueForKey:UIApplicationLaunchOptionsURLKey];
这个url就是你接收到文件的url。现在自己就可以在自己的App中轻松的处理自己自定义的类型文件了。
参考资料:
Email Tutorial for iOS: How To Import and Export App Data Via Email in your iOS App