Суть данного способа заключается в передаче изображения из вашего приложения прямо в Instagram-экран с фильтрами (ответ на вопрос «почему так?» можно найти здесь). Так как в данном примере будет использоваться изображение, полученное с камеры iOS устройства — логично разделить его на 2 этапа:

1. Запуск камеры и получение снимка (для этого воспользуемся классом UIImagePickerController:).
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
// Включаем редактирование изображений (масштабирование и перемещение)
picker.allowsEditing = YES;
// Устанавливаем в качестве источника получения данных камеру
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController: picker animated: YES];
[picker release];

2. Открытие полученного изображения в приложении Instagram (для этого воспользуемся классом UIDocumentInteractionController)
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage : (UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
    NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    // Сохраняем изображение с разрешением *.igo
    NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"image.igo"];
    NSData *imageData = UIImagePNGRepresentation(image);
    [imageData writeToFile:savedImagePath atomically:YES];

    // Проверяем, доступно ли приложение Instagram на данном устройстве
    NSURL *instagramURL = [NSURL URLWithString:@"instagram://app"];
    if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
         NSURL *imageUrl = [NSURL fileURLWithPath:savedImagePath];
         UIDocumentInteractionController * docController = [[UIDocumentInteractionController alloc] init];
         docController.delegate = self;
         [docController retain];
         // Указываем тип программ для открытия
         docController.UTI = @"com.instagram.exclusivegram";
         [docController setURL:imageUrl];
         // Показываем меню выбора доступных приложений для отображения изображения
         [docController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES];
    } else {
        // Если приложение Instagram не найдено - показываем соответствующее сообщение
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Warning"
                             message:@"You have no installation Instagram App" delegate:self cancelButtonTitle:@"OK"
                             otherButtonTitles:nil];
        [alert show];
        [alert release];
    }
}
В нашем случае для открытия изображения будет использоваться только Instagram. Для использования всех подходящих приложений устройства нужно заменить строки
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"image.igo"];
docController.UTI = @"com.instagram.exclusivegram";
на
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"image.ig"];
      docController.UTI = @"com.instagram.photo";
В случае загрузки изображения из другого источника нужно предварительно сохранить его в формате PNG или JPEG (преимущественно JPEG). Для получения лучшего результата рекомендуется использовать JPEG с разрешением как минимум 612 x 612 пикселей, иначе оно не будет загружено (пользователю будет показано сообщение о невозможности загрузки).