PAn Kaj Khatri
PAn Kaj Khatri

Reputation: 539

UIActivityViewController show showing ios objective c

I'm trying to present an activity view controller. but I don't know why is this error occurs again and again. Same code I have used for my other app and its working fine over there. However, in my current app its starts crashing.

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:^{}];

enter image description here

Upvotes: 0

Views: 3056

Answers (1)

Vikash Kumar
Vikash Kumar

Reputation: 636

Try this code with main thread mention in below.

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:^{}];
});

Upvotes: 1

Related Questions