Мой текущий обходной путь таков:
NSURLRequest *myRequest = theRequest;
NSURL *urlFromMyRequest = [theRequest URL];
NSRange foundPhobosServer = [[urlFromMyRequest host] rangeOfString:@"phobos.apple.com"];
NSRange foundItunesServer = [[urlFromMyRequest host] rangeOfString:@"itunes.apple.com"];
if(foundPhobosServer.location != NSNotFound || foundItunesServer.location != NSNotFound)
[[UIApplication sharedApplication] openURL:[request URL]];
По сути, я проверяю URL-адрес, чтобы убедиться, что он идет с phobos.apple.com или itunes.apple.com. Если это так, то я просто прошу систему открыть его для меня. Система может распознать, если URL-адрес находится в App Store, и поступит правильно, и открыть приложение App Store.
Дополнительное примечание: это закроет ваше приложение.