打包提交appstore如果用到了如下權限需要修改提示語,詳細描述使用這個權限的原因,如不修改提示語appstore審核可能會被拒絕。
Apple的原則是,如果一個app想要申請用戶同意某個隱私信息訪問許可,需要給用戶明確的申請權限的原因,能給用戶帶來什么價值。
所以要求開發者填寫這個原因,並且在iOS向手機用戶彈出是否允許app訪問某隱私信息時,會同時展示開發者填寫的這個描述,以幫助用戶判斷,是否有必要同意這個app訪問隱私信息。
iOS上的隱私信息包括:
- 通訊錄 NSContactsUsageDescription
- 麥克風 NSMicrophoneUsageDescription
- 相機 NSCameraUsageDescription
- 相冊(訪問) NSPhotoLibraryUsageDescription
- 相冊(保存圖片到相冊) NSPhotoLibraryAddUsageDescription
- 定位(使用時獲取地理位置) NSLocationWhenInUseUsageDescription
- 定位(持續獲取地理位置) NSLocationAlwaysUsageDescription
新版本IOS 11.3上對定位權限進行了合並 使用定位需要增加一個新的聲明
- 定位(iOS11.3及以上版本) NSLocationAlwaysAndWhenInUseUsageDescription
- 藍牙 NSBluetoothPeripheralUsageDescription
- 語音轉文字 NSSpeechRecognitionUsageDescription
- 日歷 NSCalendarsUsageDescription
設置方法如下:
使用視圖方式打開manifest.json文件, 在plus->distribute->apple節點下添加plistcmds,數據類型為Array,
開發者可復制以下代碼到manifest.json文件中並根據實際使用情況進行增減
"plus": { "distribute": { "apple": { "plistcmds": [ "Set :NSContactsUsageDescription 說明讀取用戶通訊錄的原因", "Set :NSMicrophoneUsageDescription 說明使用麥克風的原因", "Set :NSPhotoLibraryUsageDescription 說明讀取用戶相冊的原因", "Set :NSCameraUsageDescription 說明使用用戶相機的原因", "Set :NSPhotoLibraryAddUsageDescription 說明向用戶相冊添加圖片的原因", "Set :NSLocationAlwaysUsageDescription 說明持續獲取用戶地理位置的原因", "Set :NSLocationWhenInUseUsageDescription 說明使用用戶地理位置的原因", "Set :NSLocationAlwaysAndWhenInUseUsageDescription 說明使用用戶地理位置的原因" ] } } }
更新:HBuilderX1.1起,在manifest可視化視圖-模塊權限配置里,可方便的輸入提示語,不用再進代碼視圖操作
注意:
- 通過上面方法修改提示語后需要重新打包,調試基座的提示語不會變化。
舉例說明
比如一個外賣應用,獲取定位后需要展示附近的美食信息。那么,相應的定位權限描述,應當是類似“獲取定位信息用於為用戶提供附近的美食信息”這樣的描述。而不應當是,“獲取用戶當前位置信息”這種沒有明確描述定位用處的信息。