2009-08-08 12 views
2

に私はこのコード行を持っているチュートリアルをオフに働いています:iPhoneシミュレータは3.0でエラーが表示されていないが、ディスプレイ2.0

プログラムが3.0フレームワークでコンパイルされ

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8004664411"]];

、その行のコードが実行されても何も起こりません。しかし、プログラムは言うコードの行を表示にポップアップを引き起こし2.0フレームワークを構築している場合:

「このURLがロードされていなかったサポートされていないURL : TEL:// 8004664411」

缶なぜ誰もエラーが3.0で発生しない理由を説明しますか?

答えて

3

2.0フレームワークビルドでエラーが表示されるのはなぜわかりません。 Xcode Simulatorを使用する場合、電話リンクは常に無視されます。

とにかく、canOpenURLクラスメソッドを使用して電話番号を呼び出す前に、tel urlスキームがサポートされているかどうかをアプリケーションにチェックさせることをお勧めします。


NSString *zeURL = @"tel://8004664411"; 

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:zeURL]]) { 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:zeURL]]; 
} else { 
    //show own error message dialog 
} 
2

そして、あなたが適切tel://をサポートしていないハードウェアを処理していない場合は、ここで非常に最近の経験から言えば、あなたのアプリがApp Storeの承認プロセスに拒否されます。

私はそこに置いたボタンを持っていましたが、iPodとSimulatorはクラッシュしませんが、何もしません。サポートしていないデバイスで実行されている場合は、ボタンを検出して削除する必要があります。

私はそれを聞かせて自分自身をキックしたいと思いました。

+0

ありがとうございます。私は忘れてしまっただろう。 – Neo42

関連する問題