안녕하세요. 하나의 소셜 네트워크 앱을 개발 중입니다. 그게 내 애플 리케이션 API의 확장을 사용하여 이미지를 공유해야했다. 목표 C이 아닌 스위프트으로 내 앱을 개발 중입니다. 어떤 몸이라도이 문제를 해결할 수 있습니까? 목표 C에서 공유 확장을 만들기ios8의 공유 확장 프로그램을 사용하여 이미지 공유
답변
앱 확장이 포함 된 응용 프로그램이 있어야합니다 - 당신은 첫 번째를 포함하는 일반 응용 프로그램을 만들고, 가게에서 다운로드 할 앱 정보를 만들 수 없습니다 추가 앱 정보 이 데모에서는 새 단일 뷰 프로젝트를 만들고 그대로 둡니다. 파일 -> 신규 -> 프로젝트으로 이동하여 단일보기 응용 프로그램아래에서 iOS -> Applications을 'ExtendableApp'라고 부릅니다. 파일 -> 새로 만들기로
이동> 대상 및 아이폰 OS에서 공유 확장를 선택 -> 응용 프로그램 확장이 프로젝트에 공유 확장 대상을 추가 할 것 'myShareExtension'를 호출.
ShareViewController는 Textbox, imageview 및 '취소'와 '게시'버튼과 문자 수, 구성, 내용 유효성 검사와 같은 다른 기능이있는보기가있는 SLComposeServiceViewController에서 상속합니다.
ShareViewController를 설정하여 UIViewController에서 상속하도록 설정하면 확장이 활성화되면 모든 일반 viewDidLoad, viewDidAppear 등이 호출됩니다. 이미
이 viewDidAppear에 ShareViewController.mm에서 사용하는 다음을 공유있는 UIImage
받기 UIActivityViewController 메뉴에서 'myShareExtension'을 볼 수에 의해됩니다 포함 된 응용 프로그램을 설치 한 후이 시점에서
-(void)viewDidAppear:(BOOL)animated
{
for (NSItemProvider* itemProvider in ((NSExtensionItem*)self.extensionContext.inputItems[0]).attachments)
{
if([itemProvider hasItemConformingToTypeIdentifier:@"public.image"])
{
[itemProvider loadItemForTypeIdentifier:@"public.image" options:nil completionHandler:
^(id<NSSecureCoding> item, NSError *error)
{
UIImage *sharedImage = nil;
if([(NSObject*)item isKindOfClass:[NSURL class]])
{
sharedImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:(NSURL*)item]];
}
if([(NSObject*)item isKindOfClass:[UIImage class]])
{
sharedImage = (UIImage*)item;
}
}];
}
}
}
참고 이미지를 얻을 수 있습니다 확장 기능은 빠르고 가볍고 이미지를로드하는 동안 UI 스레드를 차단하지 않아야하며, 실제 응용 프로그램에서는 백그라운드에서이 작업을 수행해야합니다. UIActivityViewController 메뉴가 나타납니다 때마다 확장이 확장은 확장 정보에 적절한 값을 설정해야 표시해야하는 상황에서 지정, 확장은 이제 표시됩니다 기본적으로
을 표시 할 때
을 지정합니다.현재 사용 가능한 키의 decumentation 찾을 수 NSExtension, NSExtensionAttributes, NSExtensionActivationRule 아래의 plist : 키의 모든 적용 할 때마다 확장이 표시에 대한 기본 동작입니다 Information Property List Key Reference참고 것을 의미하면 경우 NSExtensionActivationSupportsImageWithMaxCount
및 NSExtensionActivationSupportsMovieWithMaxCount
을 지정하면 사용자가 이미지 및 동영상이 이미지 또는 동영상이 아닌 이미지를 공유하는 경우에만 확장 프로그램이 나타납니다. 는
http://bryan.io/post/97658826431/what-we-learned-building-the-tumblr-ios-share-extension
Declaring Supported Data Types for a Share or Action Extension
나는 이미지와 모든 것을 얻었다. 이제 백그라운드에서 이미지를 공유해야합니다. 이 코드를 제공 할 수 있습니까? – TamilKing
내가 이해하지 못한다. 질문에서 공유 확장을 개발하고있는 것처럼 보이는데, 왜 당신과 이미 공유 된 이미지를 공유하고 싶습니까? 컨텍스트에 관계없이 공유 확장을 사용하는 유일한 방법은 UIActivityViewController를 사용하는 것이며이 컨트롤러를 제시해야만 백그라운드에서 수행 할 수 없습니다. – MichaelB
나는 모든 것을 추가하고 또한 공유하고있다. .. 공유하지 않는 약간의 시간. 나는 이미지를 업로드하기 위해 두 개의 API를 호출해야한다. 백그라운드 세션에서 실수를 저 지르지 않았 으면합니다. – TamilKing
- 1. 공유 확장명을 사용하여 이미지 공유
- 2. 응용 프로그램을 사용하여 사진 공유
- 3. iOS 8 공유 확장 사파리 이미지
- 4. 공유 확장 프로그램을 통해 Pinterest에 공유하기
- 5. Monodroid를 사용하여 앱에 이미지 공유
- 6. Facebook 응용 프로그램을 사용하여 공유
- 7. 공유 확장 프로그램에서 여러 이미지 업로드
- 8. 공유 이미지
- 9. 공유 이미지
- 10. Android WhatsApp 이미지 공유
- 11. 공유 키트를 사용하여 이미지 게시
- 12. 의도 선택기를 사용하여 이미지 공유
- 13. Firefox 확장 : 공유 상태
- 14. iOS 공유 확장 키보드 해제
- 15. Android 앱에서 이미지 공유
- 16. UIActivityViewController 공유 확장 활동 제한
- 17. 두보기 사이에서 이미지 공유
- 18. 동적으로 Facebook 공유 공유 기본 미리보기 이미지
- 19. iOS8의 이미지
- 20. Twitter 이미지 공유
- 21. iOS 8 공유 확장 loadPreviewView
- 22. Android : 원시 폴더에서 이미지 공유. 잘못된 이미지 공유
- 23. 공유 라이브러리를 사용하여 응용 프로그램을 크로스 컴파일
- 24. 여러 파이썬 프로그램을 사용하여 데이터 공유
- 25. 페이스 북 공유 이미지
- 26. 리소스에서 이미지 공유
- 27. flickr에 이미지 공유
- 28. kivy 안드로이드 공유 이미지
- 29. 특정 앱에 이미지 공유
- 30. 공유 이미지 나에게 오류
당신이 이미지를 얻는 방법을 말할 수 이쪽을 봐 몇 공유 데이터 유형 중 하나 나타납니다 확장을 작성하려면? – Yohan