本章節由CocoaChina翻譯組成員星夜暮晨(博客)翻譯自WatchKit Programming Guide:Overview--Leveraging iOS Technologies,敬請勘誤。
WatchKit應用擴展可以使用絕大多數iOS技術。由於應用擴展和應用還是有一些不同,因此某些技術的使用可能會受到限制,或者不受到推薦。下面是決定是否使用特定技術的准則:
· 避免使用需要用戶權限的技術,比如Core Location。在WatchKit應用擴展中使用該技術的話,可能會在您第一次請求使用時導致用戶的iPhone上顯示出一個意想不到的提示。更糟糕的是,這個狀況可能會在任何時間出現,即使用戶的iPhone在他們的口袋裡並且屏幕是鎖定的。
· 不要使用後台執行模式的技術。WatchKit應用擴展只考慮在前台運行的情況,並且其只在用戶和對應的Watch應用交互時運行。因此,支持後台運行的某些技術在WatchKit應用擴展中並不被支持。
· 避免使用需要長時間運行的技術。WatchKit應用擴展在用戶停止和對應的Watch應用交互後便迅速暫停。由於與Watch應用的交互通常是短暫的,因此應用擴展可能會在請求的數據到達前暫停運行。
要使用iOS技術,其中一種解決方法是讓您的iOS應用來使用這些技術。例如,在您的iOS應用中使用位置服務,而不是在WatchKit中使用這個技術。iOS應用可以收集所需的數據然後通過共享程序組來讓應用擴展稍後訪問。
當使用iOS技術的時候,請始終確保使用這些技術能夠給用戶帶來明顯的好處,並且不要讓這些技術成為您應用的核心功能。同樣要記住某些技術需要您提供用法說明,使用說明存放在`Info.plist`文件中,其描述了您打算如何使用相應的數據。如果在iOS應用中已經有了這些用法說明字符串,請考慮更新它們以讓用戶明白,這些數據可能會結合Watch應用來使用。
關於Info.plist文件中的用法說明的詳細信息,請參閱 Information Property List Key Reference。