UIActivityViewController 显示显示 ios 目标 c

Posted

技术标签:

【中文标题】UIActivityViewController 显示显示 ios 目标 c【英文标题】:UIActivityViewController show showing ios objective c 【发布时间】:2017-03-01 11:58:06 【问题描述】:

我正在尝试展示一个活动视图控制器。但我不知道为什么这个错误会一次又一次地发生。我用于我的其他应用程序的相同代码并且它在那里工作正常。但是,在我当前的应用中,它开始崩溃。

NSString *url=@"http://itunes.apple.com/us/app/APPNAME/idXXXXXXXXX";
NSString * title =[NSString stringWithFormat:@"Download App %@ and get free reward points!",url];
NSArray* dataToShare = @[title];
UIActivityViewController* activityViewController =[[UIActivityViewController alloc] initWithActivityItems:dataToShare applicationActivities:nil];
activityViewController.excludedActivityTypes = @[UIActivityTypeAirDrop];
if (activityViewController == nil)
   return;

[self presentViewController:activityViewController animated:YES completion:^];

【问题讨论】:

这段代码看起来不错……你必须调试并找出它到底在哪里崩溃。 您可以尝试添加一个异常断点,看看您是否获得有关导致崩溃的原因的更多信息? 我刚刚试用了您的代码,它运行良好。我确实得到了与 popoverpresentationController 相关的异常并修复了它。但我认为情况并非如此。 那是 iPad 还是 iPhone? 我发现我的导航控制器存在问题。它允许我 pushtoviewController 但是当我使用 PresentViewController 时它会因上述错误而崩溃...... 【参考方案1】:

用下面提到的主线程试试这个代码。

NSString *url=@"http://itunes.apple.com/us/app/APPNAME/idXXXXXXXXX";
NSString * title =[NSString stringWithFormat:@"Download App %@ and get free reward points!",url];
NSArray* dataToShare = @[title];
UIActivityViewController* activityViewController =[[UIActivityViewController alloc] initWithActivityItems:dataToShare applicationActivities:nil];
activityViewController.excludedActivityTypes = @[UIActivityTypeAirDrop];
if (activityViewController == nil)
    return;

dispatch_async(dispatch_get_main_queue(), ^
    [self presentViewController:activityViewController animated:YES completion:^];
);

【讨论】:

我发现我的导航能够执行推送操作但无法执行当前操作...我不知道它为什么会这样...

以上是关于UIActivityViewController 显示显示 ios 目标 c的主要内容,如果未能解决你的问题,请参考以下文章

UIActivityViewController 背景颜色

UIActivityViewController 共享 UIActivity 未显示

UIActivityViewController 不适用于 WKWebView

限制 UIActivityViewController 共享扩展活动

尝试呈现 UIActivityViewController 时崩溃

更改 UIActivityViewController 的 navigationBar 的颜色