I had such an error when I passed the view controller object to the UIActivityViewController in the list of activity elements without implementing the UIActivityItemSource protocol (it does not look like the requirement in the documentation).
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[self] applicationActivities:customActivities];
If you have the code as above, you should have something like this in InstagramPhoto (divine code, just for explanation):
- (id)activityViewController:(UIActivityViewController*) activityViewController itemForActivityType:(NSString *)activityType { return self; } - (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController { return @""; }
source share