Вместо длинных и запутанных URL, которые вы обычно видите, вы можете создавать ссылки в App Store, которые намного проще и логичнее. В iTunes Store есть скрытый формат URL, который гораздо более логичен. В зависимости от того, на что вы ссылаетесь, вам просто нужно создать URL в одном из следующих форматов:
- Имя исполнителя или имя разработчика App Store: http://itunes.com/Artist_Or_Developer_Name
- Название альбома: http://itunes.com/Artist_Name/Album_Name
- Приложения: http://itunes.com/app/App_Name
- Фильмы: http://itunes.com/movie/Movie_Title
- ТВ: http://itunes.com/tv/Show_Title
Просто включите URL этого формата в тело создаваемого вами электронного письма.
(Обратите внимание, что пробелы могут вызывать проблемы, но я обнаружил, что исключение их полностью работает для меня - http://itunes.com/app/FrootGroove перенаправляет в приложение под названием "Froot Groove".)
(Также обратите внимание, что если это не работает для вас, средство для создания ссылок iTunes здесь )
Ваш код будет примерно таким (извлеченным из моего, анонимным и не проверенным)
NSString* body = [NSString stringWithFormat:@"Get my app here - %@.\n",myUrl];
#if __IPHONE_OS_VERSION_MIN_REQUIRED <= __IPHONE_2_2
[NSThread sleepForTimeInterval:1.0];
NSString* crlfBody = [body stringByReplacingOccurrencesOfString:@"\n" withString:@"\r\n"];
NSString* escapedBody = [(NSString*)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)crlfBody, NULL, CFSTR("?=&+"), kCFStringEncodingUTF8) autorelease];
NSString *mailtoPrefix = [@"mailto:xxx@wibble.com?subject=Get my app&body=" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
// Finally, combine to create the fully escaped URL string
NSString *mailtoStr = [mailtoPrefix stringByAppendingString:escapedBody];
// And let the application open the merged URL
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:mailtoStr]];
#endif
В iPhone 3.0 вы можете делать что-то лучше, но я пока не могу об этом говорить.