标签: uiactivityviewcontroller

UIActivityViewController在iOS 8 iPad上崩溃

我目前正在使用Xcode 6(Beta 6)测试我的应用程序.UIActivityViewController可与iPhone设备和模拟器配合使用,但与iPad模拟器和设备(iOS 8)崩溃并带有以下日志

Terminating app due to uncaught exception 'NSGenericException', 
reason: 'UIPopoverPresentationController 
(<_UIAlertControllerActionSheetRegularPresentationController: 0x7fc7a874bd90>) 
should have a non-nil sourceView or barButtonItem set before the presentation occurs.
Run Code Online (Sandbox Code Playgroud)

我正在为iOS 7和iOS 8使用以下iPhone和iPad代码

NSData *myData = [NSData dataWithContentsOfFile:_filename];
NSArray *activityItems = [NSArray arrayWithObjects:myData, nil];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:nil applicationActivities:nil];
activityViewController.excludedActivityTypes = @[UIActivityTypeCopyToPasteboard];
[self presentViewController:activityViewController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

我也得到了一个类似的崩溃我的其他应用程序.你能指导我吗?iOS 8中的UIActivityViewController有什么变化吗?我查了但是我没有找到任何关于此的内容

objective-c ios uiactivityviewcontroller ios8

279
推荐指数
11
解决办法
9万
查看次数

在Swift中使用UIActivityViewController共享文本或图像的基本示例

我开始搜索时想知道如何与iOS中的其他应用分享.我发现有两个重要的方法

  • UIActivityViewController
  • UIDocumentInteractionController

这个SO答案中比较了这些和其他方法.

通常当我学习一个新概念时,我希望看到一个让我入门的基本例子.一旦我得到基本的设置,我可以稍后修改它.

有很多与之相关的问题UIActivityViewController,但我找不到任何只是要求一个简单的例子.由于我刚刚学会了如何做到这一点,我将在下面提供我自己的答案.随意添加一个更好的(或Objective-C版本).

ios uiactivityviewcontroller swift

118
推荐指数
6
解决办法
11万
查看次数

从iOS7中的UIActivityViewController呈现时,无法在邮件编辑器中设置"发送"和"取消"按钮的文本颜色

我正在使用UIActivityViewController在iOS7中共享项目.当我点击"邮件"选项时,它会弹出邮件编辑器,但导航栏上的"取消"和"发送"按钮以及导航栏本身都是蓝色的,这使得它很难阅读,所以我想改变它们的颜色.它在iOS6中工作,但在iOS7中不工作.

我试过了

[[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor redColor], UITextAttributeTextColor, [UIColor clearColor], UITextAttributeTextShadowColor, nil] forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

哪个适用于iOS6,我试过了

[[UIBarButtonItem appearance] setTintColor:[UIColor redColor]];
[[UINavigationBar appearance] setBarTintColor:[UIColor redColor]];
Run Code Online (Sandbox Code Playgroud)

这会导致颜色在第一次运行应用程序时闪烁红色,然后立即切换回蓝色.

uiactivityviewcontroller ios7

67
推荐指数
4
解决办法
2万
查看次数

如何在UIActivityViewController中设置邮件主题?

我想设置电子邮件共享主题UIActivityViewController,也想在Twitter上分享.我知道在Twitter上我们想分享 - 我们需要将文本压缩到140个字符.我检查了许多SO解决方案,但没有任何工作.

最新的iOS版本是否修复了此问题?还有其他"工作方案"吗?

email objective-c subject ios uiactivityviewcontroller

65
推荐指数
4
解决办法
3万
查看次数

如何在iOS中创建自定义UIActivity?

如何UIActivity在iOS中创建自定义?

我想要这个的原因是在我的一个应用程序中添加一个Review App按钮,将用户带到App Store的评论部分.我该如何创建这样的自定义UIActivity

objective-c ios uiactivity uiactivityviewcontroller

64
推荐指数
3
解决办法
5万
查看次数

我对Simulator中的Swift(iOS8)中的MFMailComposeViewController有误解

我创建了一个csv文件并尝试通过电子邮件发送它.显示发送邮件的窗口,但不填充电子邮件正文,也没有附加文件.应用程序挂起此屏幕:

prntscr.com/4ikwwm

按钮"取消"不起作用.在控制台中出现几秒钟后:

viewServiceDidTerminateWithError: Error Domain=_UIViewServiceInterfaceErrorDomain Code=3 "The operation couldn’t be completed. (_UIViewServiceInterfaceErrorDomain error 3.)" UserInfo=0x7f8409f29b50 {Message=Service Connection Interrupted}

<MFMailComposeRemoteViewController: 0x7f8409c89470> timed out waiting for fence barrier from com.apple.MailCompositionService
Run Code Online (Sandbox Code Playgroud)

有我的代码:

func actionSheet(actionSheet: UIActionSheet!, clickedButtonAtIndex buttonIndex: Int) {
    if buttonIndex == 0 {
        println("Export!")

        var csvString = NSMutableString()
        csvString.appendString("Date;Time;Systolic;Diastolic;Pulse")

        for tempValue in results {     //result define outside this function

            var tempDateTime = NSDate()
            tempDateTime = tempValue.datePress
            var dateFormatter = NSDateFormatter()
            dateFormatter.dateFormat = "dd-MM-yyyy"
            var tempDate = dateFormatter.stringFromDate(tempDateTime)
            dateFormatter.dateFormat = "HH:mm:ss"
            var tempTime …
Run Code Online (Sandbox Code Playgroud)

ios uidocumentinteraction mfmailcomposer uiactivityviewcontroller

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

如何从UIActivityViewController中排除Notes和Reminders应用程序?

我创建UIActivityViewController并通过StringURL它.这显然是配置UIActivityViewController使用我想要排除的一些项目(我的目标是分享有关我的应用程序的信息).

我设法通过设置适当的方法排除了许多系统提供的活动(如"添加到阅读列表")excludedActivityTypes.

但是,我无法排除提醒和Notes应用程序.有人可以建议一种方法吗?这些应用程序在列表中显示第3和第4,因此除非用户滚动,否则Twitter和Facebook不可见.

cocoa-touch ios uiactivity uiactivityviewcontroller

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

iOS:如何在社交网络上分享文字和图片?

拜托,如果我犯错误,你能告诉我吗?

NSString *sharedMsg=[NSString stringWithFormat:@"Hello world"];
UIImage* sharedImg=[UIImage imageNamed:@"image"];
NSArray* sharedObjects=[NSArray arrayWithObjects:sharedMsg, sharedImg, nil];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] 
              initWithActivityItems:sharedObjects applicationActivities:nil];
activityViewController.popoverPresentationController.sourceView = self.view;
[self presentViewController:activityViewController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

在运行时,当我选择Facebook的图标时,文本丢失,图像被正确显示.
我的xcode是6.3.1,在iPad上测试过.

share facebook ios uiactivityviewcontroller

47
推荐指数
2
解决办法
4万
查看次数

UIActivityViewController - 有没有办法知道选择了哪个活动?

我希望能够跟踪用户是否通过Facebook,Twitter等共享,但似乎无法知道选择了哪种方法.在那儿?

uiactivityviewcontroller

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

用于Facebook的UIActivityViewController不显示默认文本

我正在使用UIActivityViewController,它提供了一些默认文本和链接.使用所有社交媒体(短信,电子邮件,推特),将显示默认文本和URL.但是,在显示URL图像时使用FB,默认文本不显示(它只是空白).以下是代码:

    NSString *shareStr = [NSString stringWithFormat:@""some text"];
    NSURL *website = [NSURL URLWithString:@"website"];
    NSArray *shareAray = @[shareStr,website];

    [self viewWillDisappear:YES];

    UIActivityViewController *activityController = [[UIActivityViewController alloc]initWithActivityItems:shareAray
                                                                                    applicationActivities:nil];

    if([activityController respondsToSelector:@selector(popoverPresentationController)] )
        activityController.popoverPresentationController.barButtonItem = self.shareButton;


    [self presentViewController:activityController
                       animated:YES completion:nil];

    [activityController setCompletionHandler:^(NSString *activityType, BOOL completed){
        if (!activityType || UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
        {
            [self viewWillAppear:YES];
        }
    }];
Run Code Online (Sandbox Code Playgroud)

更新:如下面其他人所述,FB不再允许预填.以下是视频的另一个链接,其中提供了允许内容和不允许内容的示例:https: //developers.facebook.com/docs/apps/review/prefill

xcode facebook objective-c uiactivityviewcontroller

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