【问题标题】:UIActivityViewController not showing Message option When Sharing Image Object共享图像对象时 UIActivityViewController 不显示消息选项
【发布时间】:2021-08-24 18:08:45
【问题描述】:

我正在使用 UIActivityViewController 来共享我生成的图像,它适用于某些应用程序,如 Whatsapp 或通过电子邮件共享,但我也想使用消息应用程序共享它。我已经尝试了几种方法来做到这一点,但我无法在上面显示消息应用程序。 这是我的代码:

UIImage *receiptStage3 = [CreateReceiptImage putLogo:nil putLabel:TRANSACTION_RECEIPT inImage:receiptStage2];

NSData *imageData = UIImageJPEGRepresentation(receiptStage3,0.5);

// create url
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyyMMddHHmmss"];
NSString *fileName = [NSString stringWithFormat:@"%@%@%@", @"FormatHere-", [dateFormatter stringFromDate:[NSDate date]],@".jpg"];
NSURL *url = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingString:fileName]];
NSData *data = imageData;
// write data
[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 file
    NSError *errorBlock;
    if([[NSFileManager defaultManager] removeItemAtURL:url error:&errorBlock] == NO) {
        NSLog(@"error deleting file %@",@"error");
        return;
    }
}];
                        
[self presentViewController:activityVC animated:YES completion:nil];

正如我之前所说,我尝试了几种方法,例如将 NSUrl @[url] 和 UIImage *receiptStage3 直接放入 initWithActivityItems。我也尝试删除 excludeActivityTypes 但 Message 选项不会显示。我错过了什么吗?还是有其他方法可以做到这一点?谢谢之前

【问题讨论】:

    标签: ios objective-c


    【解决方案1】:

    你的代码完全没问题,对我有用。

    首先,如果您在设置中禁用了 iMessage,您的“信息”应用可能会丢失。转到设置-> 消息并确保它已打开:

    另外你可能在默认项目中看不到它,请查看隐藏的项目:

    【讨论】:

    • Brooo 它工作了哈哈:D。我花了几乎整整一个星期来解决这个问题,谢谢伙计!祝你有美好的一天
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    相关资源
    最近更新 更多