我正在使用UIActivityViewController來分享我生成的圖片,它在某些應用程式中運行良好,如Whatsapp或通過電子郵件分享,但我也想使用資訊應用程式來分享它。我已經嘗試了幾種方法,但我無法在上面顯示資訊應用。 以下是我的代碼 :
UIImage *receiptStage3 = [CreateReceiptImage putLogo:nil putLabel:TRANSACTION_RECEIPT inImage:receiptStage2];
NSData *imageData = UIImageJPEGRepresentation(receiptStage3,0.5)。
//創建url。
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init]。
[dateFormatter setDateFormat:@"yyyyMMddHmmss"] 。
NSString *fileName = [NSString stringWithFormat: @"%@%@", @"FormatHere-", [dateFormatter stringFromDate:[NSDate date]], @" 。 jpg"]。
NSURL *url = [NSURL fileURLWithPath:[NSTemporaryDirectory()stringByAppendingString:fileName]]。
NSData *data = imageData;
//寫資料。
[data writeToURL:url atomically:NO]。
NSArray *activityItems = @[url];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil] 。
activityVC. excludedActivityTypes = @[UIActivityTypePostToTencentWeibo, UIActivityTypePostToVimeo, UIActivityTypePostToWeibo, UIActivityTypePostToFlickr, UIActivityTypePostToTwitter, UIActivityTypePostToFacebook, UIActivityTypePrint, UIActivityTypeAssignToContact, UIActivityTypeOpenInIBooks, UIActivityTypeAirDrop,UIActivityTypeSaveToCameraRoll,UIActivityTypeAddToReadingList】。]
[activityVC setCompletionWithItemsHandler: ^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) {
//Delete fileNSError *errorBlock;
if([[NSFileManager defaultManager] removeItemAtURL:url error:&errorBlock] == NO) {
NSLog(@"錯誤洗掉檔案%@",@"錯誤") 。
return。
}
}];
[self presentViewController:activityVC animated:YES completion:nil]。
正如我之前所說,我已經嘗試了幾種方法,比如把NSUrl @[url]和UIImage *receiptStage3直接放到initWithActivityItems。我也試過洗掉excludedActivityTypes,但資訊選項不會顯示。我是否遺漏了什么?或者有其他方法可以做到這一點?謝謝
。uj5u.com熱心網友回復:
你的代碼是完全正確的,對我來說是有效的。
首先,如果你在設定中禁用了iMessage,你的Messages應用程式可能會丟失。進入設定->資訊,并確保它是打開的。


轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/307437.html
標籤:
上一篇:隔離后不能與視圖控制器互動
下一篇:從網路上獲取日期,回報為零
