読者です 読者をやめる 読者になる 読者になる

ふるすたっくえんじにあっぽい人の日記

ASP .NET MVC (C#)、.NET Framework、iOS (Objective-c) アプリ、Androidアプリ (Java)、AWS、たまにLAMPとかプロジェクトマネジメントあたりのお話

【iOS】メールアプリ起動-日本語対応

タイトルまんま。
url schemeで開くときに日本語入ってるとそのまんまでは起動できませんよっと。
stringByAddingPercentEscapesUsingEncodingでエスケープしてあげましょう。

+ (void)openMmsWithTo:(NSString *)to andSubject:(NSString *)subject andBody:(NSString *)body
{
    NSString *escapedSubject = [subject stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSString *escapedBody = [body stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"mailto:%@?subject=%@&body=%@", to, escapedSubject, escapedBody]];
    [[UIApplication sharedApplication] openURL:url];
}


iOSとサーバーサイド両方やってると混じってだるい
C#でYESで書こうとしたかと思ったら、Objective-cでtrueって書こうとしたり。
C#でNSStringって書こうとしたりね。。