在MFMailCompose中显示iPhone型号

时间:2015-03-15 16:00:43

标签: ios objective-c iphone xcode

我已阅读此问题的答案Identify new iPhone model on xcode (5, 5c, 5s),并希望将此NSString添加到我的MFMailCompose。我尝试过使用这种方法,但没有运气。有人请帮帮我。

抱歉,我是Xcode的新手。

                NSString *iOS           = [[UIDevice currentDevice] systemVersion];
                NSString *model         = [[UIDevice currentDevice] model];
                NSString *appVersionString = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
                NSString *name          = [[UIDevice currentDevice] name];
                NSString *appID=@" ";
                NSString *appStoreURL =[NSString stringWithFormat:@"https://itunes.apple.com/us/app/scanmarks/id926114469?ls=1&mt=8", appID];
                NSString *body  = [NSString stringWithFormat:@"I need help with\n\n\n----------\n Name: %@\nDevice: %@ (%@)\n Scanmarks Version: %@\n",name,model,iOS,appVersionString];

目前显示:Current

我希望它能像Tweetbot那样显示iPhone设备模型enter image description here

我添加了建议,现在有:enter image description here enter image description here

2 个答案:

答案 0 :(得分:0)

哈维,

我构建了一个开源工具,可以完全满足您的需求。随意使用它或浏览代码,看看我是如何完成你所要求的。

https://github.com/michaelpatzer/MPFeedbackMailComposeViewController

答案 1 :(得分:0)

使用您在问题中提到的链接,如果您只是想要说出iPhone平台,那么您只需使用这部分答案:

size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];

free(machine);

这将转换为iPhone7,2等,只需将NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];字符串'平台'传递到您的邮件正文

如果您希望将其转换为您想要的任何字符串,那么当其他部分发挥作用时。这是您在答案中使用其他部分和所有转换的唯一时间:

NSString *convertPlatformToString = [self platformType:platform]);

放入邮件的示例:

size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];

free(machine);

NSString *body = [NSString stringWithFormat:@"Platform is %@", platform];