1.在info.plist中添加如下代码
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>com.myapp.common-data</string>
<key>LSItemContentTypes</key>
<array>
<string>com.microsoft.powerpoint.ppt</string>
<string>public.item</string>
<string>com.microsoft.word.doc</string>
<string>com.adobe.pdf</string>
<string>com.microsoft.excel.xls</string>
<string>public.image</string>
<string>public.content</string>
<string>public.composite-content</string>
<string>public.archive</string>
<string>public.audio</string>
<string>public.movie</string>
<string>public.text</string>
<string>public.data</string>
</array>
</dict>
</array>
这在系统中添加了参数,如果有以上类型的文件,第三方应用可以调用我们的APP进行操作。
2.在第三方调用我们的APP后,会调用如下方法
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation
{
//sourceApplication 是调用我们APP的第三方应用是谁
if (url) {//第三方应用调用时文件的沙盒地址,
NSString *fileNameStr = [url lastPathComponent];
NSString *file = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/localFile"]
stringByAppendingPathComponent:fileNameStr]; // 表示本地文件夹目录
NSData *data = [NSData dataWithContentsOfURL:url];
[data writeToFile:Doc atomically:YES];
}
}