2017-10-11 93 views
4

我遇到下面的錯誤(iOS版11):什麼是「應用程序的Info.plist必須包含NSPhotoLibraryAddUsageDescription」的崩潰?

這個應用程序崩潰,因爲它試圖在沒有一個使用說明來訪問隱私敏感 數據。該應用程序的Info.plist必須包含 和NSPhotoLibraryAddUsageDescription鍵,字符串值爲 向用戶解釋應用程序如何使用此數據。

注意的是,雖然應用的info.plist不包含NSPhotoLibraryUsageDescription它仍然崩潰,爲什麼呢?

+0

你爲什麼問問題然後如果你知道答案? –

+0

@VarunNaharia,因爲我認爲它可能對面臨這次崩潰的任何人都有用。 https://meta.stackoverflow.com/questions/314165/how-to-ask-and-self-answer-a-correct-high-quality-qa-pair-without-attracting-d它是合法的:) –

+0

有在那裏你可以回答https:// stackoverflow。com/questions/46566972/request-nsphotolibraryaddusagedescription-permission https://stackoverflow.com/questions/46344159/whats-difference-between-nsphotolibraryaddusagedescription-and-nsphotolibraryus –

回答

12

請注意,雖然應用程序info.plist包含 NSPhotoLibraryUsageDescription它仍然崩潰,爲什麼?

我認爲這是一個誤區比較NSPhotoLibraryUsageDescriptionNSPhotoLibraryAddUsageDescription時,作爲記錄在Information Property List Key Reference

NSPhotoLibraryUsageDescription:

此鍵可以讓你描述你的應用程序訪問用戶 的原因照片庫。當系統提示用戶允許訪問時,此 字符串將顯示爲警報的一部分。

它與讓應用程序能夠訪問(獲取)設備照片庫有關。

NSPhotoLibraryAddUsageDescription:

此鍵可以讓你描述你的應用程序試圖只寫訪問 到用戶的照片庫的原因。當系統提示用戶允許 訪問時,該字符串將顯示爲警報的一部分。

它關係到讓應用能夠(添加)照片到設備的照片庫。


顯然,要解決這個崩潰,你必須在NSPhotoLibraryAddUsageDescription添加到應用程序的plist文件:

<key>NSPhotoLibraryAddUsageDescription</key> 
<string>Our application needs permission to write photos...</string> 

爲屬性列表視圖:

enter image description here

+1

「NSPhotoLibraryUsageDescription」的Apple文檔具體聲明它既可以讀寫,也可以寫入:「雖然這個鍵管理用戶照片庫的讀寫權限**,但如果您的應用程序只需要將資源添加到庫中,並且無需使用NSPhotoLibraryAddUsageDescription,則最好使用NSPhotoLibraryAddUsageDescription讀取任何資產「。我不知道這是否僅僅是文檔中的錯誤,或者Apple是否有意將」NSPhotoLibraryUsageDescription「的行爲更改爲b e只讀。 – Cutterpillow

+0

@Cutterpillow我認爲你的第二個假設是正確的。 –

相關問題