iOS 第三方APP调用自己的APP打开文件

参考: http://www.cnblogs.com/zhanghuanan/p/5311640.html
第三方APP调用自己的APP,打开文件

在info.plist中添加如下代码

<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进行操作。

在第三方调用我们的APP后,会调用如下方法

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation
  {
      if (self.window) {
          if (url) {
              NSString *fileNameStr = [url lastPathComponent];
              NSString *Doc = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/localFile"] stringByAppendingPathComponent:fileNameStr];
              NSData *data = [NSData dataWithContentsOfURL:url];
              [data writeToFile:Doc atomically:YES];
              NSLog(@"文件已存到本地文件夹内");
         }
     }
     return YES;
 }

url 就是第三方应用调用时文件的沙盒地址

@"Documents/localFile" 表示本地文件夹目录
sourceApplication 是调用我们APP的第三方应用

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容