2014-09-23 76 views
4

看來我只在iOS 8有這個錯誤。我試圖分享一個圖像和UIActivityViewController一些文本給我自己進行測試。有時候,共享圖像會導致問題出現在應該是共享圖像的位置,並且點擊該圖像不會在iMessage線程中執行任何操作,因爲它不是空白就是已損壞。如果我回到我的應用程序並嘗試再次分享,有時圖像會完全共享,而不是空白。我使用與UIActivityViewController共享圖像是空白/損壞在iOS 8

代碼(完全在iOS的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」]的作品? – 2014-09-23 19:02:00

+0

當它想要的時候很好用。在iOS 7中100%。讓我覺得這是一個蘋果的錯誤與他們的遠程視圖控制器。通過'UIActivityViewController'通過電子郵件分享也會在iOS 8之後超時。 – klcjr89 2014-09-23 19:06:56

+0

你們每個人都找到解決方案嗎?除了我們正在使用郵件共享之外,我們正在看到相同的間歇性損壞圖像。 – CargoMeister 2014-11-19 22:19:10

回答

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]; 
} 
相關問題