网站开发的人李海涛,wordpress 发布网站,设计网站官网有哪些,个人网站网站建设方案书废话少说 一、第一步#xff1a;先配置好plist文件 右击info.plist如下图文件打开 根据自己需要配置支持的文件类型#xff0c;也可使用property List中配置#xff0c;一样的 其他的文件可是参考文档#xff1a;System-Declared Uniform Type Identifiers 可复制的代码先配置好plist文件 右击info.plist如下图文件打开 根据自己需要配置支持的文件类型也可使用property List中配置一样的 其他的文件可是参考文档System-Declared Uniform Type Identifiers 可复制的代码↓ keyCFBundleDocumentTypes/keyarraydictkeyCFBundleTypeName/keystringAudio File/stringkeyLSHandlerRank/keystringAlternate/stringkeyLSItemContentTypes/keyarraystringcom.apple.m4a-audio/stringstringpublic.mpeg-4-audio/stringstringpublic.aac-audio/stringstringorg.xiph.flac/stringstringcom.microsoft.waveform-audio/stringstringpublic.mp3/string/array/dictdictkeyCFBundleTypeName/keystring Video File/stringkeyLSHandlerRank/keystringAlternate/stringkeyLSItemContentTypes/keyarraystringpublic.mpeg-4/stringstringpublic.mp4/stringstringpublic.mov/string/array/dict/array 这样就可以在其他应用中的文件分享列表中看见自己的应用。只有你配置文件中支持的文件分享时才能在应用列表中找到自己的应用如果打开的不是你配置中支持的文件在列表是找不到应用的。
二、第二步如何去获取到分享到本应用的文件呢 如果有从其他应用分享应用过来的话会调用SceneDelegate中的方法
- (void)scene:(UIScene *)scene openURLContexts:(NSSetUIOpenURLContext * *)URLContexts{for (UIOpenURLContext *urlContext in URLContexts) {NSURL *url urlContext.URL;if ([url.scheme isEqualToString:file]) {[self addShareFileWithUrl:url];}}
}- (void)addShareFileWithUrl:(NSURL*)url{AVAsset *asset [AVAsset assetWithURL:url];CMTime duration asset.duration;float durationInSeconds CMTimeGetSeconds(duration);if (durationInSeconds 1.0) {//导入文件后需要的操作}else{[PopuView showTipTextNoMask:LocalizedString(导入的音频时长应大于1秒, nil) withTimeInterval:1.0];}
}
如果需要判断分享过来的文件是什么类型的文件可以使用标识符UTI做判断。
NSString *fileUTI (__bridge_transfer NSString *)UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (__bridge CFStringRef)[newURL pathExtension], NULL);// 判断文件的UTI是否是音频类型
if (UTTypeConformsTo((__bridge CFStringRef)fileUTI, kUTTypeAudio)) {NSLog(文件是音频类型);} else if (UTTypeConformsTo((__bridge CFStringRef)fileUTI, kUTTypeVideo) || UTTypeConformsTo((__bridge CFStringRef)fileUTI, kUTTypeMovie)){NSLog(文件是视频类型);} 三、分享文件给其他应用:
NSURL *fileURL [NSURL fileURLWithPath:path];
NSArray *items [fileURL];
// 创建分享控制器
UIActivityViewController *activityViewController [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:nil];
activityViewController.excludedActivityTypes [UIActivityTypePrint, UIActivityTypeAirDrop];
[self presentViewController:activityViewController animated:YES completion:nil];