我的程序是這樣的:canOpenURL成功,但失敗的OpenURL爲電話爲urlschema
用戶在一個文本框的電話號碼。應用程序保存它。然後顯示具有「呼叫」按鈕的詳細屏幕中的電話號碼。我打電話canOpenURL
方法,如果成功,然後我保持我的通話按鈕啓用,否則保持禁用。
我用這樣的格式創建URL:tel:phone number
。
現在,我的一個測試人員添加了電話號碼='55'。現在,當我打電話給canOpenURL
時,它已成功,但是當我撥打openURL
方法時,它不顯示電話號碼的彈出窗口。
這一個對其他電話號碼完全正常,即使是兩個數字的電話號碼,例如= 13,但對於某些特定的電話號碼,如55,56它失敗。
注意:根據我的客戶的要求,我不必對電話號碼進行任何驗證,就像它必須有n個字符左右。所以,請不要提供這樣的答案。我要求canOpenURL獲得成功並且openURL失敗的原因。
根據你的數字25,29等不應該工作,只有1或0開始的數字應該只工作。而我嘗試不同的數字,我發現這一點:1.所有3位數字的電話號碼工作,2.對於1和2位電話號碼的情況下,那些以0,1或2開始的作品,其他人不工作 –
這很奇怪。在我解釋RFC的時候,你可以使用一個* global * numer(以'+'字符開頭)或者一個* local *數字,它總是需要一個* context *,例如'; phone-context ='at URI的結尾。也許只有蘋果知道他們做了什麼... –