Ich versuche, UIActivityViewController verwenden verschiedene URLs für jedes Element zu teilen. z.B. Für Twitter: www.google.com; Für Facebook: www.bing.comWie teile ich verschiedene URLs über den uiactivityviewcontroller?
Ich weiß, dass ich den Text für jeden einzelnen anpassen kann, aber ich kann nicht scheinen, einen Weg zu finden, die URL für jeden einzelnen anzupassen.
Ich habe versucht Subklassen UIActivityItemProvider aber es heraus hat nicht funktioniert:
FILE .m
- (id)initWithText:(NSString *)text{
if ((self = [super initWithPlaceholderItem:text])) {
self.text = text ?: @"";
self.url = @"";
}
return self;
}
- (id)item {
NSString *activityType = self.activityType;
if ([self.placeholderItem isKindOfClass:[NSString class]]) {
if ([self.activityType isEqualToString:UIActivityTypePostToFacebook]) {
self.url = kSHARELINK_FB;
} else if ([activityType isEqualToString:UIActivityTypePostToTwitter]) {
self.url = kSHARELINK_TWITTER;
} else if ([activityType isEqualToString:UIActivityTypeMessage]) {
self.url = kSHARELINK_SMS;
} else if([activityType
isEqualToString:UIActivityTypeMail]){
self.url = kSHARELINK_EMAIL;
}else if ([activityType
isEqualToString:UIActivityTypePostToWeibo]){
self.url = kSHARELINK_WEIBO;
}else{
self.url = kSHARELINK_OTHER;
}
}
return self.placeholderItem;
}
Datei .h
@interface LLCustomActivityItemProvider : UIActivityItemProvider
@property (copy, nonatomic) NSString *text;
@property (copy, nonatomic) NSString *url;
- (id)initWithText:(NSString *)text;