将自己的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
How do I associate file types with an iPhone application?
时间: 2024-10-27 13:30:56