2009-06-24 38 views
1

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

+0

所以你說的確認對話框「打破」應用程序?我不確定我的理解如何。如果用戶點擊同意,它仍然在撥號? – slf 2009-06-24 23:38:30

+0

@sif我可能會在我的消息中混淆的是,這些電話是自動放置的,而不是確認繼續;如第二段第一行所述。問題在於檢查標準的應用程序,比如說一個監聽音頻的安全應用程序,然後調用預定義的號碼將不再調用該號碼,因爲現在彈出一個模式確認對話框,等待確認放置電話呼叫。 – 2009-06-25 04:01:05

回答

2

我相信這是一個安全功能 - 想象一個應用程序,每天早上3點在900分鐘內撥打900號碼10分鐘。如果您將其與新的「應用內購買」API進行比較,則情況大致相同。

位置API比較是一個不好的例子 - 獲取用戶位置是一個隱私問題,而不是財務問題。

+0

是的,沒有。我可以看到你如何能夠引起安全問題,這是一個有效的觀點,但在啓動應用程序時,通過「服務確認」,這不會成爲一個問題。我敢肯定,如果有人提出了一個你剛纔提到的應用程序(1-900應用程序),不僅會讓蘋果拉動應用程序,而且會拉開開發人員的帳戶。 我已經向Apple發佈了一個錯誤請求(作爲增強),並聯系其他各種開發人員也這樣做。我還在iPhone核心團隊中召集了一些人對這個問題做出反應。所有這樣購買的應用程序,只是打破了。 :( – 2009-06-25 03:02:54

1

你無法解決這個問題,因爲這是打算的 - 你做任何「修復」問題都會導致一個不被批准的應用程序。

如果應用程序可以選擇在未經用戶同意的情況下撥打號碼,則認爲用戶體驗不好。軟件可能會撥打「高級」號碼,這會讓用戶在沒有意識到的情況下花費很多錢。

這是所有移動軟件平臺和操作系統的標準 - 如果它剛剛在OS 3.0中發生變化,那麼這表明它一定是蘋果認爲他們可以解決的問題。不過,我認爲移動運營商將會向蘋果施加壓力,以便像往常一樣介紹這一點,最終不得不退還用戶 - 但已經支付了「高級」號碼的錢。

我不確定美國是否存在「溢價」數字,與他們在歐洲的數字一樣多,這也許是難以理解的原因。

0

RFC的tel://表示不允許通過tel:方案自動撥號。

所以他們必須在RFC合規性和打破這幾個應用程序之間進行選擇。

我希望選擇忽略RFC,至少允許應用程序在允許的情況下繼續撥號。

0

我懷疑Apple是否有意推動用戶購買新的iPhone,如果他們想要語音撥號 - 這個問題會打破所有第三方語音撥號應用程序,使他們不安全,基本上沒用。

讓我們繼續對蘋果的壓力,使其成爲用戶可配置的設置。

0

也許你的意思是新引進的功能,而不是問題?

我不認爲你會讓蘋果公司刪除確認彈出窗口,特別是如果它是RFC合規性。

米報價Joel (http://www.joelonsoftware.com/items/2009/06/10c.html)關於應用:

一個良好的平臺始終具有對該 不僅僅是差距填料的應用 機會。這些是 類型的應用程序,供應商是 不太可能考慮核心 功能,通常是因爲它是垂直的 - 這不是每個人都想要的 要。蘋果公司將爲iPhone增加一個 功能,這對牙科醫生來說完全沒有機會 。 零。

我不希望某些應用程序撥打電話,發送短信,甚至連接到互聯網(生活在一個國家裏無限移動數據計劃仍在遙遠的未來)沒有我的同意。

當客戶抱怨賬單未知來電時,運營商肯定會頭痛。