邮件附件不是从已经在App Store中存放超过一年的iOS应用程序发送的

时间:2013-07-16 15:05:53

标签: ios email email-attachments mfmailcomposeviewcontroller

我有一个iOS应用程序已经在应用商店超过一年。最新版本于4月17日发布。此应用程序的目的是允许用户创建国际象棋便携式游戏符号(PGN)文件,并通过iPhone或iPad将其通过电子邮件发送到台式计算机。然后,任何数量的国际象棋数据库应用程序都可以读取电子邮件附件

在上周,我有两位用户向我反馈,他们的电子邮件中没有附件。有人向我展示了邮件作曲家的截图,显示它是由附件组成的。

无法发送PGN附件是这个应用程序的一个严重问题,所以如果这是一个普遍的问题,我会听到两个以上的用户。

其中一个用户正在发送到Gmail帐户,另一个用户正在发送到iCloud帐户。一位用户报告说,使用相同WiFi连接的朋友能够在没有iPad问题的情况下发送电子邮件附件。他还能够发送屏幕截图并回复我附加PGN(mimeType:@“text / pgn”)文件的消息。

我的邮件编写器代码来自Apple的例子,并为全世界的用户工作了一年多。

有没有人有类似的经历?我担心一周内我在应用程序中存在超过一年的代码有两个问题。

谢谢!

附加了一些添加附件数据的代码 请注意,附件不是“文件”。

PgnGenerator *generator = [[PgnGenerator alloc] init];
generator.game = inGame;

NSString *pgn = [generator pgnString];

NSData *myData = [pgn dataUsingEncoding:NSASCIIStringEncoding];

NSString* fileName = [NSString stringWithFormat:@"%@.pgn", [inGame eventAndRound]];

[picker addAttachmentData:myData mimeType:@"text/pgn" fileName:fileName];

使用

NSData *myData = [pgn dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

解决了这个问题 “例如,在将字符从NSUnicodeStringEncoding转换为NSASCIIStringEncoding时,字符'Á'变为'A',失去重音。”

许多将要读取PGN文件的国际象棋应用程序无论如何都无法处理重音字符,因此在更新规范之前,丢失重音是最佳解决方案。

2 个答案:

答案 0 :(得分:0)

之前我注意到,即使我附加的文件在设备上不存在,邮件编辑器仍会显示该文件将要附加。然后,当电子邮件被发送时,附件不存在。

这种情况是否可能发生?

答案 1 :(得分:0)

在我使用NSASCIIStringEncoding的情况下,NSString在iOS7上返回nil(在iOS6上运行良好),NSUTF8StringEncoding工作正常