2014-11-09 4 views
5

Когда я использую UIDocumentInteractionController, чтобы разрешить пользователям делиться через Instagram, он работает, он открывает возможность «открыть с» и «Instagram» в качестве одного из параметров ... проблема заключается в том, что он также отображает множество других приложений, таких как «Facebook» и «Twitter» ...UIDocumentInteractionController share через Instagram (и ТОЛЬКО Instagram)


есть ли способ, что я могу сделать это только дать возможность открытия в приложении Instagram?


Instagram утверждает, что есть способ сделать это: http://instagram.com/developer/iphone-hooks/ но они упоминают это:
"Alternatively, if you want to show only Instagram in the application list (instead of Instagram plus any other public/jpeg-conforming apps) you can specify the extension class igo, which is of type com.instagram.exclusivegram."

но я честно понятия не имеют, что значит эта часть, " extension class igo"


Мои код:

UIImage *imageToUse = [UIImage imageNamed:@"imageToShare.png"]; 
NSString *documentDirectory=[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; 
NSString *saveImagePath=[documentDirectory stringByAppendingPathComponent:@"Image.ig"]; 
NSData *imageData=UIImagePNGRepresentation(imageToUse); 
[imageData writeToFile:saveImagePath atomically:YES]; 
NSURL *imageURL=[NSURL fileURLWithPath:saveImagePath]; 
docController = [UIDocumentInteractionController interactionControllerWithURL:imageURL]; 
docController.delegate = self; 
docController.annotation = [NSDictionary dictionaryWithObjectsAndKeys:[NSString stringWithFormat:@"This is the users caption that will be displayed in Instagram"], @"InstagramCaption", nil]; 
docController.UTI = @"com.instagram.exclusivegram"; 
[docController presentOpenInMenuFromRect:CGRectMake(1, 1, 1, 1) inView:self.view animated:YES]; 

+0

показать эту ошибку - *** Завершить приложение из-за неперехваченного исключения «NSInternalInconsistencyException», причина: UIDocumentInteractionController ушел преждевременно! ios 10.3 – Sushobhit

ответ

10

Оказывается, чтобы получить контроллер DOC, чтобы открыть только в Instagram просто сохранить PNG или JPG-файл в формате расширения «.igo» тип файла, (Может быть, стоит для Instagram-только?)



Измененный третью строку кода в моем коде, чтобы прочитать это вместо того, чтобы:

NSString *saveImagePath=[documentDirectory stringByAppendingPathComponent:@"Image.igo"]; 

(с "УГИ")



, а потом это сработало! :)

+1

Вы знаете, как удалить опцию «сохранить в Dropbox» с файлами * .igo? – alexburtnik

+5

Кажется, что блестящие люди в Dropbox решили включить файлы .igo в свое приложение, для которых кто-то знает, в чем причина, поэтому теперь они нарушили функцию instagram для всех остальных. #ThanksDropBox –

+1

.igo больше не работает в iOS9, он по-прежнему возвращает много вариантов. – DevC

Смежные вопросы