First create the files. I chose the name Activity ActivityCustomActivity
Make ActivityViewCustomActivity.h as follows:
Make ActivityViewCustomActivity.m look like this:
#import "ActivityViewCustomActivity.h" @implementation ActivityViewCustomActivity - (NSString *)activityType { return @"yourappname.Review.App"; } - (NSString *)activityTitle { return @"Review App"; } - (UIImage *)activityImage { // Note: These images need to have a transparent background and I recommend these sizes: // iPadShare@2x should be 126 px, iPadShare should be 53 px, iPhoneShare@2x should be 100 // px, and iPhoneShare should be 50 px. I found these sizes to work for what I was making. if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { return [UIImage imageNamed:@"iPadShare.png"]; } else { return [UIImage imageNamed:@"iPhoneShare.png"]; } } - (BOOL)canPerformWithActivityItems:(NSArray *)activityItems { NSLog(@"%s", __FUNCTION__); return YES; } - (void)prepareWithActivityItems:(NSArray *)activityItems { NSLog(@"%s",__FUNCTION__); } - (UIViewController *)activityViewController { NSLog(@"%s",__FUNCTION__); return nil; } - (void)performActivity { // This is where you can do anything you want, and is the whole reason for creating a custom // UIActivity [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=yourappid"]]; [self activityDidFinish:YES]; } @end
Here's what my image looked like: Here is the .PSD I made: - the malicious link was deleted - And here is the original 250 px.png http://i.imgur.com/pGWVj.png

Now in your view controller do the following:
#import "ActivityViewCustomActivity.h"
And now, wherever you want to display your UIActivityViewController :
NSString *textItem = @"Check out the yourAppNameHere app: itunes http link to your app here"; UIImage *imageToShare = [UIImage imageNamed:@"anyImage.png"]; NSArray *items = [NSArray arrayWithObjects:textItem,imageToShare,nil]; ActivityViewCustomActivity *aVCA = [[ActivityViewCustomActivity alloc]init]; UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:[NSArray arrayWithObject:aVCA]]; activityVC.excludedActivityTypes = @[UIActivityTypePostToWeibo, UIActivityTypeAssignToContact, UIActivityTypePrint, UIActivityTypeCopyToPasteboard, UIActivityTypeSaveToCameraRoll]; activityVC.completionHandler = ^(NSString *activityType, BOOL completed) { NSLog(@"ActivityType: %@", activityType); NSLog(@"Completed: %i", completed); }; if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { self.popoverController = [[UIPopoverController alloc] initWithContentViewController:activityVC]; CGRect rect = [[UIScreen mainScreen] bounds]; [self.popoverController presentPopoverFromRect:rect inView:self.view permittedArrowDirections:0 animated:YES]; } else { [self presentViewController:activityVC animated:YES completion:nil]; }
klcjr89 07 Oct 2018-12-12T00: 00Z
source share