我正在敲打这个墙上的头,但似乎无法使我的自定义UTI工作。
我正在努力在我的应用中实现AirDrop,因此我可以在设备之间共享文件。我能够成功传输其他设备的文件,但安装了我的应用程序的其他设备将无法打开我的应用程序中的文件。
以下是我的app.plist转储:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>MYAPP</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array>
<string>57x57</string>
</array>
<key>CFBundleTypeName</key>
<string>MYAPPNAME Shared Assignment</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.MYAPPNAME.SIAASSIGNMENT</string>
</array>
</dict>
</array>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIcons</key>
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>57x57 2.png</string>
<string>114x114 2.png</string>
<string>72x72 2.png</string>
<string>144x144 2.png</string>
</array>
</dict>
</dict>
<key>CFBundleIdentifier</key>
<string>com.MYAPPNAME.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>4.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>4.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSMainNibFile</key>
<string>Main_Window</string>
<key>NSMainNibFile~ipad</key>
<string>Main_Window_iPad</string>
<key>UIBackgroundModes</key>
<array>
<string>fetch</string>
<string>remote-notification</string>
</array>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UIStatusBarTintParameters</key>
<dict>
<key>UINavigationBar</key>
<dict>
<key>Style</key>
<string>UIBarStyleDefault</string>
<key>Translucent</key>
<false/>
</dict>
</dict>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.text</string>
</array>
<key>UTTypeDescription</key>
<string>MYAPPNAME Shared Assignment</string>
<key>UTTypeIdentifier</key>
<string>com.MYAPPNAME.SIAASSIGNMENT</string>
<key>UTTypeSize320IconFile</key>
<string>72x72</string>
<key>UTTypeSize64IconFile</key>
<string>57x57</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>com.MYAPPNAME.SIAASSIGNMENT</key>
<array>
<string>SIAASSIGNMENT</string>
<key>public.mime-type</key>
<string>application/xml</string>
</array>
</dict>
</dict>
</array>
</dict>
</plist>
我已经尝试了很多不同的东西来使这项工作,我似乎无法让iOS7认识到这是我的文件类型。我知道您不应该为您的UTI使用'public.xxx'命名空间,因为它们是由Apple预先指定的。 任何帮助将不胜感激!
答案 0 :(得分:3)
请确保declare the types as imported以便iOS知道将您的应用显示为打开它们的选项。
另外,请确保实施-application:openUrl:sourceApplication:annotation:以通过AirDrop或文档交互控制器接收文件。