Hbuilder打包IOS關於定位描述問題

尹吉歡發表於2018-06-25

由於某些問題,上傳的IPA包被蘋果拒絕了,修改之後重新打包上傳,一直傳不上去,原因如下:

Missing Info.plist key - This app attempts to access privacy-sensitive data without a usage description. The
 app's Info.plist must contain an NSLocationAlwaysUsageDescription key with a string value explaining to the 
user how the app uses this data.

Best regards,

The App Store Team

蘋果對於隱私這塊比較重視,使用了使用者的位置資訊需要給出明確的提示告訴使用者,之前的文章中也有介紹過怎麼去設定提示,具體請參考《hbuilder APP 定位提示蘋果稽核不通過》

之前明明解決過這個問題了,今天突然又不行了,蘋果反饋的郵件中說的很清楚,在IPA包的配置中需要在 Info.plist增加NSLocationAlwaysUsageDescription 的使用說明。

我這邊打包是通過雲端打包的,這是不可控的,於是我把IPA包解壓,得到了Info.plist配置檔案,開啟是加密的,找了一個解密的線上工具:http://www.atool.org/plist_reader.php

解密後發現確實沒有NSLocationAlwaysUsageDescription 資訊,只有下面的資訊:

 "NSLocationWhenInUseUsageDescription": "根據您的位置資訊,您可隨時掌握所在位置周邊房產的行情。"

但是我的配置中配置了2個的資訊,如下:

"plistcmds": [
        "Set :NSLocationWhenInUseUsageDescription 根據您的位置資訊,您可隨時掌握所在位置周邊房產的行情。",
        "Set :NSLocationAlwaysUsageDescription  根據您的位置資訊,您可隨時掌握所在位置周邊房產的行情。"
]

這就比較坑爹啦,前2天還可以的,今天就不行了,我懷疑是官方打包出了Bug,去論壇轉了一圈發現有很多人遇到了這種情況,官方客服還在用老的那套配置告訴別人去配置,簡直是懷疑人生啊。

改成下面的配置就可以了,NSLocationAlwaysUsageDescription 要用Add:

"plistcmds": [
        "Set :NSLocationWhenInUseUsageDescription 根據您的位置資訊,您可隨時掌握所在位置周邊房產的行情。",
        "Add :NSLocationAlwaysUsageDescription  string 根據您的位置資訊,您可隨時掌握所在位置周邊房產的行情。"
]

剛剛我又去論壇看了下,現在終於知道問題了,說馬上修復:

1.png

今天下午TestFlight還用不了,各種奇葩問題,做移動開發真不容易啊。

更多技術分享請關注微信公眾號:猿天地

image.png

相關文章