2012-04-27 55 views
0

在我的申請中,我展示了名片作爲展廳的細節。在那個細節我給了用戶的電話選項。如何通過xcode編碼禁用iPod touch的電話呼叫按鈕?

從iPhone,我們可以通過給代碼follwes調用相應的數量...

NSString* call = [NSString stringWithFormat:@"tel:%@",phone_number]; 
NSURL* url = [[NSURL alloc] initWithString:[call stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
[[UIApplication sharedApplication] openURL:url]; 

但是,從iPod的,我認爲我們不能給電話給相應的號碼。

現在我想要爲iPhone和iPod啓動應用程序,但是如果將必需的設備功能設置爲「電話」,則應用程序將無法在iPod上運行。如果我沒有提及所需的設備功能作爲電話和提交應用程序,它是否可以用於Apple審查過程? 這將導致有沒有功能的iPod上的電話呼叫按鈕....

我的問題是如何禁用電話呼叫按鈕和編程更改文本,如果用戶將在iPod上安裝應用程序? Plz建議

回答

1

我相信你的應用不會違反準則,如果它降級優雅。如果您的應用完全拒絕運行,您只需聲明設備能力要求即可。

iOS App Programming Guide(重點煤礦):

如果你的應用程序需要才能運行的特定設備功能存在或不存在,您必須聲明使用你的應用程序的信息的UIRequiredDeviceCapabilities關鍵的要求。 plist文件。在運行時,iOS無法啓動您的應用程序,除非設備上存在聲明的功能。此外,在App Store需要此信息,以便它可以產生對用戶設備的要求列表,並防止用戶下載他們不能運行

用於確定應用程序可以向tel://網址響應的應用程序,請參見How do I test if IOS device has telephone capabilities? 您基本上使用canOpenURL來確定是否可以撥打電話。

+0

我也有「在聯繫人保存名片詳情」按鈕的按鈕。是否可以使用iPOD,因爲我沒有iPod設備來測試PLZ暗示。 – 2012-04-27 08:02:56

+0

[iPod Touch](http://www.apple.com/ipodtouch/built-in-apps/more-built-in-apps。 HTML)確實有一個通訊錄應用程序。您可能需要考慮購買iPod Touch(第三代)進行測試,不過 - 在eBay上使用的很便宜,等等。 – ckhan 2012-04-27 08:10:08

1

您可以檢查設備是否可以打開tel:網址,如果沒有,可以隱藏手機按鈕。

BOOL canCall = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel:123456789"]];