【问题标题】:AirDrop Sharing - Custom URL Scheme or Website URLAirDrop 共享 - 自定义 URL 方案或网站 URL
【发布时间】:2013-11-16 15:13:43
【问题描述】:

我的下一个问题如下:我有一个通过 AirDrop 共享自定义 URL 方案的应用程序:

    NSMutableString *mutableString = [NSMutableString stringWithString:@"appName://"];
    [mutableString appendString:contentProduct.url];
    NSURL *airDropUrl = [[NSURL alloc] initWithString:mutableString];
    LAAirDropCustomUrl *customUrlSCHEMA = [[LAAirDropCustomUrl alloc] initWithUrl:airDropUrl];
    NSArray *activityItems = [NSArray arrayWithObjects:customUrlSCHEMA, nil];
    UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems
                                                                                     applicationActivities:nil];

我已经在项目目标的信息部分添加了 URL 方案,并且通过 AirDrop 共享工作正常。另一方面,如果另一台设备没有该应用程序,则会显示默认警报,说明“设备 x 正在尝试在您没有的应用程序上共享 smth,想从 appstore 获取吗?”。如果其他设备没有该应用程序,我希望发送一个浏览器可以打开的不同 URL。

如果我尝试在 activityItems 中添加默认 NSURL*,我会收到一条错误消息,提示“设备 x 无法接收此类项目”

    NSURL *airDropUrl = [[NSURL alloc] initWithString:mutableString];        
    NSArray *activityItems = [NSArray arrayWithObjects:airDropUrl,customUrlSCHEMA , nil];

LAAirDropCustomUrl 实现是:

- (id)initWithUrl:(NSURL *)url {
     if (self = [super init]) {
         _url = url;
     }
     return self;
 }

 - (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController {
     return self.url;
 }

 - (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType {

     if ([activityType isEqualToString:UIActivityTypeAirDrop]) {
         return self.url;
     }
     return  nil;
  }

【问题讨论】:

    标签: ios share custom-url airdrop


    【解决方案1】:

    很遗憾,您无法使用当前的 API 完成您在此处尝试执行的操作。如果您觉得这是一个遗漏,您应该 file a bug 与 Apple 请求此功能。

    每当应用尝试共享混合项目时,都会显示错误“设备 x 无法接收此类项目”。例如,当应用程序尝试同时共享 PDF 和 Pages 文档时,会显示此错误警报。混合 url 方案也是如此,这就是您的情况(http://some-url.com 和 appName://some-custom-url)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 2012-06-15
      • 2011-04-30
      • 2014-10-22
      • 2011-12-14
      • 1970-01-01
      • 2012-07-17
      相关资源
      最近更新 更多