iPhone 3.0 SDK中引入了一個新問題,以及它如何處理自動撥打電話的NSURL方法。它曾經是你可以調用一個方法(NSURL),傳遞一個帶有URL前綴的字符串(tel://,sms等等),並且iPhone OS會將消息發送到設備,比如iTunes代碼如下:用於撥打電話的NSURL和iPhone SDK 3.0的問題
[openURL:[NSURL URLWithString:@"tel://8005551212"]];
當方法被調用時,電話會自動放置。使用iPhone OS 3.0時,該方法被稱爲應用程序彈出一個對話框,要求確認電話。這打破了幾個現有的應用程序以及我們剛剛推入App Store進行審查的應用程序。
任何人都可以想到解決這個問題?目前,我對於該怎麼做,並試圖決定在作品中如何處理這種新扳手感到茫然。
我blogged關於這個,並建議人們聯繫蘋果,並讓他們意識到這個問題。我還建議一個朋友和我正在考慮的修復 - 那就是使用與位置感知應用程序具有相同的「授權」;一個應用程序知道它的位置感知,並詢問用戶是否可以使用他們的位置。
同樣,如果任何人有解決此問題(這是在iPhone SDK的領域,以不被蘋果拒絕)請讓我知道;我會非常感激。
更新:Julian Romero Nieto對該錯誤有很好的描述,並引用了(更新的)Apple文檔並顯示了手頭的問題。你可以閱讀他的發表在Oper Radar here。
所以你說的確認對話框「打破」應用程序?我不確定我的理解如何。如果用戶點擊同意,它仍然在撥號? – slf 2009-06-24 23:38:30
@sif我可能會在我的消息中混淆的是,這些電話是自動放置的,而不是確認繼續;如第二段第一行所述。問題在於檢查標準的應用程序,比如說一個監聽音頻的安全應用程序,然後調用預定義的號碼將不再調用該號碼,因爲現在彈出一個模式確認對話框,等待確認放置電話呼叫。 – 2009-06-25 04:01:05