2014-09-23 1 views
4

저는 iOS 8에서만이 버그를 겪고있는 것으로 보입니다. 이미지와 약간의 텍스트를 UIActivityViewController과 공유하여 테스트하고 있습니다. 때로는 공유 이미지가 공유 이미지로 가정 된 것에 물음표가 표시되고 빈 이미지 또는 손상된 이미지이기 때문에 iMessage 스레드에서 아무 것도하지 않습니다. 내 앱으로 돌아가서 다시 공유하려고하면 이미지가 완벽하게 공유되고 공백이 아닌 경우가 있습니다. 내가 사용iOS 8에서 UIActivityViewController로 이미지를 공유하는 것이 비어 있거나 손상되었습니다.

코드 (아이폰 OS 7에서 완벽하게 작동) :이 종종 일어나고있는 이유를 알아 내려고 노력하고 해결 방법을하는거야

UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:@[[NSString stringWithFormat:@"Sent from http://appstore.com/appname"],[UIImage imageNamed:@"SomeImage"]]applicationActivities:nil]; 

activityVC.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypePrint, UIActivityTypeCopyToPasteboard, UIActivityTypeSaveToCameraRoll, UIActivityTypeAddToReadingList, UIActivityTypePostToVimeo, UIActivityTypeAirDrop]; 

[self presentViewController:activityVC animated:YES completion:NULL]; 

. 나는 어떤 도움을 주셔서 감사합니다. 문제/버그 첨부 스크린 샷 : 여기

enter image description here

+0

[UIImage imageNamed : @ "SomeImage"] 앱의 다른 곳에서 작동합니까? –

+0

원할 때 잘 작동합니다. 그리고 iOS 7에서는 100 %입니다. 원격 뷰 컨트롤러가있는 Apple 버그라고 생각합니다. 'UIActivityViewController'를 통해 이메일을 통해 공유하는 경우도 있습니다. iOS 8 이후 때로는 시간이 초과됩니다. – klcjr89

+0

당신은 누구나 해결책을 찾았습니까? 우리는 메일 공유를 사용하는 것을 제외하고는 동일한 간헐적 인 손상된 이미지를보고 있습니다. – CargoMeister

답변

1

비디오 파일 공유에 대한 해결 방법입니다. 이미지에 대해서도 똑같이 해보십시오.

나는 처음에 문서 디렉토리에있는 파일에 저장 한 비디오 데이터를 가지고 있으며 그 파일을 첨부했습니다.

//write to a file 
[videoData writeToFile:[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/image.mov"] atomically:YES]; 

(IBAction)ShareVideoWihFacebook:(id)sender { 
//get the file url NSString* path =[NSHomeDirectory()stringByAppendingPathComponent:@"Documents/image.mov"]; 

NSURL *videoURL = [NSURL fileURLWithPath:path]; 

UIActivityViewController * activityVC = [[UIActivityViewController alloc] initWithActivityItems:@[videoURL,@"Created by ..."] applicationActivities:NULL]; 


[activityVC setExcludedActivityTypes:@[ UIActivityTypeMail,UIActivityTypeAssignToContact, UIActivityTypeCopyToPasteboard, UIActivityTypePrint,  UIActivityTypePostToWeibo,UIActivityTypeMessage,UIActivityTypeAirDrop,UIActivityTypeSaveToCameraRoll]]; 

[activityVC setValue:@"My Video" forKey:@"subject"]; 

[activityVC setCompletionHandler:^(NSString *activityType, BOOL completed) { 
//NSLog(@"completed dialog - activity: %@ - finished flag: %d", activityType, completed); 
}]; 

[self presentViewController:activityVC animated:TRUE completion:nil]; 
}