代码之家  ›  专栏  ›  技术社区  ›  Avijit Nagare

__iOS中自定义活动的NSCFConstantString _beforeActivity?

  •  -1
  • Avijit Nagare  · 技术社区  · 10 年前

    我想分享图片,通过自己的应用程序链接,因为活动类型是使用子类UIActivity类并使用此动作方法代码

      NSString *message = [NSString stringWithFormat:@"%@\n",[self.dataModel artLook_Title]];
        UIImage *imageToShare =self.profileImageView.image; //[UIImage imageNamed:@"test.jpg"];
        if (self.tinyURL==nil) {
            [self initilizeTinyURL];
        }
         NSArray *items = @[message,[self tinyURL],imageToShare];//
        NSArray *activities = @[[self customActivity],UIActivityTypePostToFacebook,UIActivityTypePostToTwitter];
        UIActivityViewController *controller = [[UIActivityViewController alloc]initWithActivityItems:items applicationActivities:activities];
        [self presentViewController:controller animated:YES completion:nil];
    

    我在

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

    错误:-[__NSConstantString _beforeActivity]:无法识别的选择器 发送到实例0x38f2b6b8

    任何帮助都将不胜感激。

    2 回复  |  直到 10 年前
        1
  •  1
  •   rmaddy    10 年前

    问题是这一行:

    NSArray *activities = @[[self customActivity],UIActivityTypePostToFacebook,UIActivityTypePostToTwitter];
    

    您正在传递自己的自定义活动(良好)和标准活动的两个字符串常量(不良)。

    1. 你不能通过 NSString 哪里 UIActivity 应为。
    2. 为什么要在阵列中指定标准活动,而您只应提供特定于应用程序的活动?

    将行更改为:

    NSArray *activities = @[[self customActivity]];
    

    如果您的目标是只显示某些活动,请使用 excludedActivityTypes 属性列出不需要的标准活动。这就是您使用标准的地方 UIActivityTypeXXX 常数。

        2
  •  1
  •   Anbu.Karthik    10 年前

    这行是错误的

     NSArray *activities = @[[self customActivity],UIActivityTypePostToFacebook,UIActivityTypePostToTwitter];
    

    -[__NSConstantString _beforeActivity]:发送到实例0x38f2b6b8的选择器无法识别--错误表示您在 applicationActivities

    这个 UIActivity 需要UIActivity对象列表