Das UIActivityItemSource-Protokoll legt ein komplexes Objekt fest

Ich verwende iOS 6, um Informationen auszutauschen:UIActivityViewController. Um die geteilten Daten abhängig von den Medien (Facebook, Twitter oder Mail) auszuwählen, implementieren Sie den my view controllerUIActivityItemSource Protokoll wie folgt:

- (IBAction)onShareButton:(UIButton *)sender
{

    UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[self] applicationActivities:nil];

    activityViewController.excludedActivityTypes = @[UIActivityTypeMessage, UIActivityTypeAssignToContact, UIActivityTypeCopyToPasteboard, UIActivityTypeMessage, UIActivityTypePostToWeibo, UIActivityTypePrint, UIActivityTypeSaveToCameraRoll];
    [self presentViewController:activityViewController animated:YES completion:^{}];
}

#pragma mark - UIActivityItemSource Protocol

- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType {
    if ([activityType isEqualToString:UIActivityTypePostToFacebook]) {
        NSArray *items = @[@"message facebook", [NSURL URLWithString:@"http://www.myUrlFacebook.com"]];
        return items;
    } else if ([activityType isEqualToString:UIActivityTypePostToTwitter]) {
        NSArray *items = @[@"message twitter", [NSURL     URLWithString:@"http://www.myUrlTwitter.com"]];
        return items;
    } else if ([activityType isEqualToString:UIActivityTypeMail]) {
        NSArray *items = @[@"message mail", [NSURL URLWithString:@"http://www.myUrlMail.com"]];
        return items;
    }

        NSArray *items = @[@"Not a proper Activity", [NSURL URLWithString:@"http://www.myUrlMail.com"]];
    return items;
}

- (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController {
    return @"PlaceHolder";
}

Wenn ich einen einfachen NSString für zurückgebeactivityViewController:itemForActivityType: Die Saite wird von meinerUIActivityViewController, aber ich kann keine Möglichkeit finden, eine zu verwendenArray !

Laut Apple-Dokumentation soll es möglich sein:

Diese Methode gibt das tatsächliche Datenobjekt zurück, auf das ein Aktivitätsobjekt einwirken sollApple-Dokumentation

Benutzt das schon mal jemand?UIActivityItemSource Protokoll mit Arrays, oder gibt es eine vollständige Anleitung, um dies zu tun?

Hinweis: Ich habe auch diesen Fehler auf der Konsole, es kann helfen ...

Dienste starten: Registrierung der unbekannten App-ID com.apple.mobilemail fehlgeschlagen

Dienste starten: Die App-ID com.apple.mobilemail kann nicht gefunden werden

Antworten auf die Frage(2)

Ihre Antwort auf die Frage