Tag: 空投

使用UIActivityViewController指定文件types

继续这个问题,我将如何去使用UIActivityViewController来指定我空气共享文件的文件types?

使用AirDrop分享资产库中的video失败

使用AirDrop,我想分享资产库中的video。 关于AirDrop,文件说: 使用此服务时,可以为活动项目提供NSString,NSAttributedString,UIImage,ALAsset和NSURL对象作为数据。 你也可以指定其内容使用资产库scheme的NSURL对象。 您也可以提供包含列出的数据types的NSArray或NSDictionary对象。 我所看到的是,如果活动项目的数据是资产库scheme的NSURL,则传输将失败,并显示以下错误: 发件人kSFOperationEventErrorOccured {错误=“错误域= SFOperation代码= -6 \”传输失败,因为您没有权限读取\ U201cIMG_0119.MP4 \ U201d。\“UserInfo = 0x155f5db0 {NSLocalizedDescription =传输失败,因为你不\ U2019t有权读取\ U201cIMG_0119.MP4 \ U201d。}“; FileIcon =“”; Files =(); SessionID = 9165CCC70A39; } 通过AirDrop成功共享资源库中的video的唯一方法是将文件复制到临时位置,然后将活动项目的数据设置为新的NSURL。 基本上是这样的: – (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType { ALAssetRepresentation* assetRepresentation = [self.asset defaultRepresentation]; NSString* outputDirectory = [NSString stringWithFormat:@"%@", NSTemporaryDirectory()]; NSString* path = [outputDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@", […]

UIDocumentInteractionController阻止“打开”工作表中的Airdrop

在我的应用程序中,我允许用户通过Instagram分享照片,这需要使用UIDocumentInteractionController。 如果手机支持Airdrop,会自动检测。 我如何从这个“打开”操作表中删除它? 即使我开始与UIActivityViewController的共享过程,并调用setExcludedActivityTypes:,最终我必须使用UIDocumentInteractionController,当我这样做,Airdrop再次出现。 这是分享button被点击时的代码: NSURL *instagramURL = [NSURL URLWithString:@"instagram://location?id=1"]; if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) { NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"Image.igo"]; NSData *imageData = UIImagePNGRepresentation(imageToShare); [imageData writeToFile:savedImagePath atomically:YES]; NSURL *imageUrl = [NSURL fileURLWithPath:savedImagePath]; docController = [[UIDocumentInteractionController alloc] init]; docController.UTI = @"com.instagram.exclusivegram"; docController.URL = imageUrl; [docController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES]; } else { […]

创build用于空投,iOS的自定义UTI

我在我的info.plist中使用这个代码: <key>CFBundleDocumentTypes</key> <array> <dict> <key>CFBundleTypeName</key> <string>AirDrop Profile File Type</string> <key>LSHandlerRank</key> <string>Default</string> <key>LSItemContentTypes</key> <array> <string>com.apple.customProfileUTI.customprofile</string> </array> </dict> </array> 声明一个自定义的文件types,在这里回答这个问题 ,并且查看了链接的示例代码,但不能很好地遵循它。 我有一个结构,我转换为数据,然后与空投分享,我想了解如何创build一个数据types,使接收设备知道打开我的应用程序接收数据。 任何人都可以为我清除它? 答案在这里跟进

在IOS中自定义AirDrop警报描述

我有以下代码通过AirDrop发送一个URL : NSString* selfUrlScheme = [[[[[[NSBundle mainBundle] infoDictionary] valueForKey:@"CFBundleURLTypes"] objectAtIndex:0] valueForKey:@"CFBundleURLSchemes"] objectAtIndex:0]; NSURL* schemeURL = [NSURL URLWithString: [NSString stringWithFormat: @"addList:%@,%@", self.list.uniqueID, selfUrlScheme]]; NSArray *objectsToShare = @[schemeURL]; controller = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil]; // Exclude all activities except AirDrop NSArray *excludedActivities = @[UIActivityTypePostToTwitter, UIActivityTypePostToWeibo, UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll, UIActivityTypeAddToReadingList, UIActivityTypePostToFlickr, UIActivityTypePostToVimeo, UIActivityTypePostToTencentWeibo]; controller.excludedActivityTypes = excludedActivities; [self presentViewController:controller animated:YES […]