标签: airdrop

iOS 7中的默认共享

在大多数支持iOS 7的iOS应用程序中,我看到了共享选项的这种格式(如下图所示).是否有可用于实现此共享选项的默认代码/框架,如下图所示?

share social-networking ios ios7 airdrop

57
推荐指数
2
解决办法
3万
查看次数

在IOS中自定义AirDrop警报说明

我有以下代码发送URL通过AirDrop:

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 completion:nil];
Run Code Online (Sandbox Code Playgroud)

然后收件人收到以下消息:

在此输入图像描述

是否有可能URL在'X想要分享'之后将找到的文本更改为更加用户友好的内容,例如'X想与您共享列表'?提前致谢!

编辑

我现在有这个,但它仍然产生了相同的结果:

AirDropCustomURL *container = [[AirDropCustomURL alloc] initWithUrl:schemeURL];
NSString *message = @"a list";
controller = …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ios airdrop

17
推荐指数
1
解决办法
1492
查看次数

UIDocumentInteractionController在'Open in'表单中阻止Airdrop

在此输入图像描述

在我的应用程序中,我允许用户通过Instagram共享照片,这需要使用UIDocumentInteractionController.如果手机支持,则会自动检测到Airdrop.如何从"打开方式"操作表中删除它?

即使我使用UIActivityViewController开始共享过程并调用setExcludedActivityTypes:,最终我必须使用UIDocumentInteractionController,当我这样做时,Airdrop再次出现.以下是分享按钮时的代码:

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
{
    NSLog(@"no insta");
}
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c ios uidocumentinteraction airdrop

9
推荐指数
1
解决办法
3641
查看次数

有没有办法检测用户是否按下接受或拒绝Airdrop请求?

所以,我有空投功能,但如果用户按下接受并且用户按空中请求拒绝,我需要发生不同的事情.

目前,无论用户是接受还是拒绝空投请求,都会发生相同的动作.

我正在使用

activityViewController.SetCompletionHandler(HandleActivityViewControllerCompletion);
Run Code Online (Sandbox Code Playgroud)

有这个签名:

private async void HandleActivityViewControllerCompletion (NSString activityType, bool completed, NSExtensionItem[] returnedItems, NSError error)
Run Code Online (Sandbox Code Playgroud)

问题是我无法使用这些参数.如果用户做出任一选择并且returnedItems为null,则Completed始终返回true.

我可以使用或做什么来检测用户是否拒绝了Airdrop请求?

这是一个Xamarin.iOS应用程序,但Swift /原生iOS的答案也很好.

类似的SO问题没有答案: UIActivityViewController Airdrop - 检查'发送'或'拒绝'时的状态

c# xamarin.ios ios xamarin airdrop

9
推荐指数
1
解决办法
326
查看次数

Airdrop错误消息:"无法同时接收所有这些项目"

我使用以下代码使用UIActivityViewController共享图像,一些文本和URL.一切正常,但是当使用选择AirDrop时,它会得到"无法同时接收所有这些项目".如果我只分享图像,那么AirDrop可以工作.我需要电子邮件,Facebook,Twitter共享方法的文本和网址.

有没有办法保持文本和URL,使AirDrop只共享图像,而Facebook,电子邮件,Twitter的共享方法继续使用文本和网址与我试图分享的图像?

NSString *text = [NSString stringWithFormat:@"I made this image using %@ iOS app. Here is the link to download it:", [CloudHelper appName]];
NSURL *url = [NSURL URLWithString:APP_URL];    

UIActivityViewController *activityController =
[[UIActivityViewController alloc]
 initWithActivityItems:@[text, url, myImage]
 applicationActivities:nil];

[self presentViewController:activityController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

ios uiactivityviewcontroller airdrop

7
推荐指数
1
解决办法
1944
查看次数

如何检查UIActivityTypeAirDrop是否存在

我正在使用它UIActivityViewController在一些iOS应用程序中显示共享表.iOS 7引入了一种新类型UIActivity:UIActivityTypeAirDrop.

这被声明为UIActivity.h文件中的extern字符串...基本上我试图从我的共享表中排除空投类型,这一切都运行正常,但是这个代码集需要向后兼容以前版本的iOS.

我知道要检查一个我可以使用的方法,respondsToSelector:但有没有类似的方法我可以用来检查字符串是否被声明,或者我应该使用开启系统版本?(这绝不是一个正常的好方法)

ios uiactivityviewcontroller ios7 airdrop uiactivitytypeairdrop

6
推荐指数
1
解决办法
1293
查看次数

有没有办法在给出型号的情况下获得Mac的图标?

我知道你可以使用以下代码从cocoa获取当前机器的图标:

NSImage *machineIcon = [NSImage imageNamed:NSImageNameComputer];
Run Code Online (Sandbox Code Playgroud)

但是只给出型号时是否可以获得图标?如MacBookPro11,3

我需要这个的原因是因为我正在使用MultiPeer Connectivity我想要连接的网络浏览设备.但我想在自定义浏览器视图中显示这些设备中的图标.

我知道OS X几乎包含以下文件夹中所有设备的每个图标:

/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/
Run Code Online (Sandbox Code Playgroud)

但我想知道如何从我的应用程序中访问它们:

我想过使用discoveryInfofrom MCNearbyServiceAdvertiser来传输设备广告的图标,但你无法使用传输那么多的数据discoveryInfo.它仅适用于少量文本.所以我决定只传输机器的型号.我希望将机器的型号解析为另一侧的图标.有点像AirDrop它是怎么回事.

macos cocoa airdrop multipeer-connectivity

6
推荐指数
1
解决办法
921
查看次数

iOS 7 UIActivityViewController电子邮件附件

我在这里回顾了一堆帖子,大量的在线教程/示例代码,我很难过.在我的应用程序中,我显示iOS7本身提供的UIActivityController没有问题,其中包含适合我的应用程序的共享选项(AirDrop和邮件).

我遇到的具体问题是当用户选择通过邮件共享选项时,将保存的文档附加到电子邮件中.消息正文正在设置为文本,但附件是MIA.相关代码是:

//生成要为当前显示的记录共享的XML文件... NSURL*url = [self createShareFile];

UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:@[@"Data shared from my app.", url] applicationActivities:nil];

// Filter out the sharing methods we're not interested in....
controller.excludedActivityTypes = @[UIActivityTypePostToTwitter, UIActivityTypePostToFacebook,
                                UIActivityTypePostToWeibo,
                                UIActivityTypeMessage,
                                UIActivityTypePrint, UIActivityTypeCopyToPasteboard,
                                UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll,
                                UIActivityTypeAddToReadingList, UIActivityTypePostToFlickr,
                                UIActivityTypePostToVimeo, UIActivityTypePostToTencentWeibo];

// Now display the sharing view controller.
[self presentViewController:controller animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

我错过了什么?我的文件正确创建,内容正确,NSURL对象包含文件的正确路径.

谢谢!

email attachment uiactivityviewcontroller ios7 airdrop

5
推荐指数
1
解决办法
3241
查看次数

UIActivityViewController - 无法同时 AirDrop 多个对象类型

我希望能够使用 UIActivityViewController 同时 AirDrop 文本文件和图像。下面的代码可以很好地通过 iMessage 或电子邮件发送两种文件类型,但当我尝试使用 AirDrop 时,它会失败。该代码适用于 AirDropping 2 个图像或 2 个文本文件,但不适用于其中每一个。

@IBAction func shareImage(_ sender: UIButton)
{
    // can't seem to AirDrop a mixture of file types. ie. can send 2 images, or 2 data files, but not an image and a data file
    let fileToSend: NSURL = NSURL(fileURLWithPath: dataFile!)
    let image = imageView.image!
    let objectsToShare = [fileToSend, image] as [Any]
    let controller = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)

    controller.excludedActivityTypes = [UIActivityType.postToFacebook, UIActivityType.postToTwitter, UIActivityType.postToWeibo, UIActivityType.print, UIActivityType.copyToPasteboard, UIActivityType.assignToContact, UIActivityType.saveToCameraRoll, …
Run Code Online (Sandbox Code Playgroud)

uiactivityviewcontroller airdrop swift

5
推荐指数
1
解决办法
677
查看次数

Android到iOS AirDrop?

出于好奇...是否有人能够将AirDrop功能集成到Android应用程序中?

我真的不在乎在Android端接收任何信息,但希望我可以从Android向iOS端发送信息。我希望找到一个对它如何工作以及在物理上是否可能有更深入了解的人。另外,关于Apple是否对该协议拥有专有使用权(或者仅仅是名称和商标)的任何指示都将很棒!

试图构建一个跨平台的应用程序并使其接近,但是如果可行,这将非常方便:)

android ios airdrop

5
推荐指数
1
解决办法
2万
查看次数