0

受信者が埋め込みリンクをタップしてiPhoneでアプリケーションを開くことができるように、MFMailComposeViewControllerを介してカスタムURLスキームを送信しようとしています。これまでのところ、受信者はメールを受け取りますが、LINKをタップしても何も起こりません。コードは次のとおりです。

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self; // <- very important step if you want feedbacks on what the user did with your email sheet
[picker setSubject:@"Incoming task"];
// Fill out the email body text
NSString * types = @"";
for(NSString *type in task.location_types){
    types = [types stringByAppendingFormat:@"%@|",type];
}
if(types.length > 1){
    types = [types substringToIndex:types.length - 1];
}
NSString *desc = [task.description stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *link = [NSString stringWithFormat:@"helpy://?taskid=%d&desc=%@&types=%@\"",task.TaskId,desc,types];
NSString *emailBody = [NSString stringWithFormat:@"<a href=\"#\" onclick=\"doSomething();\">TAP HERE</a><script type=\"text/javascript\" charset=\"utf-8\">function doSomething() { window.location = \"%@\;return false;}</script>",link];


[picker setMessageBody:emailBody isHTML:YES]; 

picker.navigationBar.barStyle = UIBarStyleBlack;

[controller presentModalViewController:picker animated:YES];
[picker release];

helpy://?taskid = .....はカスタム登録されたURLスキームであり、ブラウザのアドレスバーから入力すると、iPhoneでアプリケーションが開きます。何らかの理由で、このリンクが電子メールに埋め込まれている場合、それをタップしても何も起こりません。何か助けはありますか?ありがとう

4

1 に答える 1

1

Mail が iOS で JavaScript を実行するかどうかは非常に疑わしいです (デスクトップ上でさえ、非常に疑わしいですが、試したことはありません)。ハイパーリンクの属性として URL を設定するだけhrefで、すべて正常に動作するはずです。JavaScript を使用したい理由はありますか? 私はただ興味があります;-)

NSString *link = [NSString stringWithFormat:@"helpy://?taskid=%d&desc=%@&types=%@\"",task.TaskId,desc,types];
NSString *emailBody = [NSString stringWithFormat:@"<a href=\"%@\">TAP HERE</a>", link];
于 2012-10-04T18:21:37.797 に答える