開発5年目にしての初Rejectでした(笑)
さて、Webページの表示は、myWebViewという名前をつけたUIWebViewオブジェクトに対して、URLを渡すことによって簡単に実装できます。
NSString *urlString = @"http://www.google.com/"; NSURL *url = [NSURL URLWithString:urlString]; [myWebView loadRequest:[NSURLRequest requestWithURL:url]];
URLはWikipediaによれば、「(スキーム名):(スキームごとに定められた何かの表現形式)」という形をしているとされています。
ところが、Appleのレビューアーはアドレスバーに「google.com」と入力してしまったので、myWebViewはこの文字列を適切に評価できず、次のようなエラーを吐き出しました。
これがバグに当たるということでRejectされたわけです。
URLではない文字列をアドレスバーに入れたのがバグというのかどうかは置いておいて、確かにSafariなんかは期待するWebページを開くことができるので、対応すべき問題であることは確かですね。
ということで、URLにスキーム名が含まれていなかった場合には、頭に「http://」を付加するように修正し、無事に審査を通ることができました。
NSString *urlString = @"google.com"; NSURL *url = [NSURL URLWithString:urlString]; if ([url.scheme length] == 0) { url = [NSURL URLWithString:[@"http://" stringByAppendingString:urlString]]; } [myWebView loadRequest:[NSURLRequest requestWithURL:url]];
以上です。