2014-09-08 4 views
11

내 앱에서 공유하는 데 문제가 있으며, 내가 잘못하고 있는지 또는 iOS8의 버그 일 가능성이 있는지 궁금합니다.UIActivityViewController로 공유하기 iOS7 및 iOS8에서 다른 결과를 생성하는 initWithActivityItems

내 응용 프로그램에서는 파일 공유 기능이 있습니다. 공유 유형이 첨부 파일을 지원하는 경우 (예 : 전자 메일) 파일을 첨부합니다. 그렇지 않으면 파일에 대한 링크가 포함 된 문자열을 공유합니다. 나는 같은 것을 할 공유 활동 작성에서

(I 크게 내 자신의 구현을 단순화했습니다,하지만이 예입니다) : iOS7에에

-(void)showShareButtons:(BOOL)animated 
{ 
    NSString *textToShare = @"Foobar!"; 
    NSURL *myWebsite = [NSURL URLWithString:@"http://www.stackoverflow.com/"]; 

    NSString *localPath = [NSTemporaryDirectory() stringByAppendingPathComponent:"temp.foo"]; 
    NSURL *localFile = [NSURL fileURLWithPath:localPath]; 

    NSArray *objectsToShare = @[textToShare, myWebsite, localFile]; 

    UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil]; 

    NSArray *excludeActivities = nil; 

    activityVC.excludedActivityTypes = excludeActivities; 

    [m_viewController presentViewController:activityVC animated:YES completion:nil]; 
} 

내가 옵션을받을 "메시지, 메일, 트위터 , 페이스 북 "을 공유하고 싶습니다.
- 메일 및 메시지의 경우 문자열, URL 및 로컬 파일을 사용합니다.

- 트위터 및 페이스 북의 경우 해당 URL과 올바른 링크로 표시됩니다 (메시지에 표시되지 않음).)

iOS8에서 메시지 및 메일 옵션 만 수신합니다. 둘 다 iOS7에서와 동일합니다.

이제는 모든 항목을 지원하는 공유 옵션으로 제한하고있는 반면, 모든 항목을 지원하기 전에는 항목을 나열하는 것으로 보입니다.

모두 xCode6 베타에 건설되고 있으며, 배포 대상은 현재 아이폰 5에 iOS7.0

아이폰 OS 8.0 (12A4345d) (MD295C/A), 7.1로 설정됩니다

정보 구축 .2 (11D257) on 4S (MD241C/A)

편집 : 또한 문자열과 같이 하나의 옵션 만 설정하면 모든 옵션을 사용할 수 있습니다. 두 기기 모두 공유 할 수 있습니다. 즉, 두 기기에서 공유 할 수 있습니다.

+2

나는 이것도 얻고있다! 이것은 매우 이상합니다. 누구든지 아이디어가 있습니까? – quantum

답변

0

실제로는 다른 방법으로 사용해야합니다. iOS8에서는 UIActivity에 기기에 설치된 모든 공유 사이트가 표시됩니다. 예 : Facebook, twitter, Vimeo 등 initWithActivityItems: 방법으로 보내는 파일 형식을 기반으로합니다.

하지만 iOS7에서는 기기 설정에 로그인 한 경우에만 Facebook, Twitter, Vimeo가 표시되는 UIActivity에 메일, 메시지 등이 표시됩니다.

관련 문제