HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – UIActivityViewController Gmail分享主题和正文是否空白?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用UIActivityViewController来显示共享。在我选择邮件应用程序的列表中,主题和正文设置正确,Gmail应用程序中的位置为空。

- (void)shareAVideoWithSubject:(NSString*)subject Link:(NSString *)String onViewController:(UIViewController *)viewController fromView:(UIView *)view {

    _activityViewController =
    [[UIActivityViewController alloc] initWithActivityItems:@[String]
                                      applicationActivities:nil];
    _activityViewController.excludedActivityTypes = @[UIActivityTypePrint,UIActivityTypeAssignToContact,UIActivityTypeSaveToCameraRoll,UIActivityTypeAddToReadingList,UIActivityTypeAirDrop];
    [_activityViewController SETVALue:subject forKey:@"subject"];


    UIWindow *window = [[[UIApplication sharedApplication] delegate]window];

    //if iPhone
    if (UI_user_iNTERFACE_I@L_579_3@m() == UIUserInterfaceIdio@R_208_6165@)
    {
        if(!viewController){
            viewController = ((SWRevealViewController*)window.rootViewController).presentedViewController;
        }
        [viewController presentViewController:_activityViewController
                                     animated:YES
                                   completion:nil];

    }   
    //if iPad
    else
    {
        // Change Rect to position Popover
        popup = [[UIPopoverController alloc] initWithContentViewController:_activityViewController];
        UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithCustomView:view];
        [popup presentPopoverFromBarButtonItem:barButton permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
    }
}

我在StackOverFlow上查看了以下两个问题。

> UIActivityViewController not showing body text in gmail
> UIActivityViewController not showing body text in gmail

这些不是我的问题的答案,因为他们在列表中添加了新的活动,而我希望iOS显示所有可共享的应用程序。在这种情况下,Gmail共享正在变空。

提前致谢。
添加截图,

解决方法

[_activityViewController SETVALue:subject forKey:@“subject”];是无证的方式来设置电子邮件主题
设置正文和主题的正确方法(iOS 7.0及更高版本) – 在要共享的项目上实现UIActivityItemsource协议。

//  EmailItemProvider.h
@interface EmailItemProvider : NSObject <UIActivityItemsource>
@property (nonatomic,strong) NSString *subject;
@property (nonatomic,strong) NSString *body;
@end

//  EmailItemProvider.m
#import "EmailItemProvider.h"

@implementation EmailItemProvider

- (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController {
    return _body;
}

- (id)activityViewController:(UIActivityViewController *)activityViewController itemFOractivityType:(NSString *)activityType {
    return _body;
}

- (NSString *)activityViewController:(UIActivityViewController *)activityViewController subjectFOractivityType:(NSString *)activityType {
    return _subject;
}
@end

而不是呈现它:

EmailItemProvider *emailItem = [EmailItemProvider new];
emailItem.subject = @"Subject";
emailItem.body = @"Body";

UIActivityViewController *activityViewController =
[[UIActivityViewController alloc] initWithActivityItems:@[emailItem]
                                  applicationActivities:nil];
[self presentViewController:activityViewController animated:YES completion:nil];

这将在邮件应用程序上设置正文和主题,但似乎Gmail应用程序忽略主题并将其设置为正文。

 

重要提示:似乎Gmail应用中存在错误。传递与传播字符使消息主题和正文是空的。使用& amp;代替。其他特殊字符未经过测试。

大佬总结

以上是大佬教程为你收集整理的ios – UIActivityViewController Gmail分享主题和正文是否空白?全部内容,希望文章能够帮你解决ios – UIActivityViewController Gmail分享主题和正文是否空白?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。