ITMS-91053: Missing API declaration隱私協(xié)議問題

蘋果上傳ipa包收到一個郵件

one or more issues with a recent submission for App Store review for the following app:

Although submission for App Store review was successful, you may want to correct the following issues in your next submission for App Store review. Once you've corrected the issues, upload a new binary to App Store Connect.

ITMS-91053: Missing API declaration - Your app’s code in the “xxxxx” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryDiskSpace. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. For more details about this policy, including a list of required reason APIs and approved reasons for usage, visit: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.

ITMS-91053: Missing API declaration - Your app’s code in the “xxxxx” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryFileTimestamp. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. For more details about this policy, including a list of required reason APIs and approved reasons for usage, visit: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.

ITMS-91053: Missing API declaration - Your app’s code in the “xxxxx” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategorySystemBootTime. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. For more details about this policy, including a list of required reason APIs and approved reasons for usage, visit: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.

ITMS-91053: Missing API declaration - Your app’s code in the “xxxxx” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryUserDefaults. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. For more details about this policy, including a list of required reason APIs and approved reasons for usage, visit: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.

Apple Developer Relations

參考官方文檔:https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api?language=objc

解決方案:

創(chuàng)建一個文件App Privacy,生成PrivacyInfo.xcprivacy文件,就是個plist配置文件

點擊+號,key為Privacy Accessed API Types梨睁,value格式為Array

點擊Privacy Accessed API Types處+號咒钟,展開item只冻,點擊+號,key為Privacy Accessed API Type吻谋,value根據(jù)蘋果的反饋選擇對應(yīng)的選項

點擊Privacy Accessed API Type處+號辽幌,key為Privacy Accessed API Reasons增淹,value為Array,展開Privacy Accessed API Reasons

點擊+號舶衬,item0右側(cè)選擇對應(yīng)的原因

大體創(chuàng)建好的格式如下


注意這個位置一定要勾選上埠通,否則相當(dāng)于沒編譯進ipa包中

官方文檔參考如下

NSPrivacyAccessedAPICategoryDiskSpace類型,代碼中包含以下函數(shù)或者方法:

NSURLVolumeAvailableCapacityKey

NSURLVolumeAvailableCapacityForImportantUsageKey

NSURLVolumeAvailableCapacityForOpportunisticUsageKey

NSURLVolumeTotalCapacityKey

NSFileSystemFreeSize

NSFileSystemSize

statfs(_:_:)

statvfs(_:_:)

fstatfs(_:_:)

fstatvfs(_:_:)

getattrlist(_:_:_:_:_:)

fgetattrlist(_:_:_:_:_:)

getattrlistat(_:_:_:_:_:_:)

NSPrivacyAccessedAPITypeReasons設(shè)置為以下:85F4.1逛犹、E174.1、7D9E.1、B728.1

85F4.1

聲明此原因以向使用該設(shè)備的人員顯示磁盤空間信息虽画。磁盤空間可以以信息單位(例如字節(jié))或與媒體類型結(jié)合的時間單位(例如高清視頻的分鐘)顯示舞蔽。

出于此原因訪問的信息或任何派生信息可能不會發(fā)送到設(shè)備外。有一個例外码撰,允許應(yīng)用程序通過本地網(wǎng)絡(luò)將磁盤空間信息發(fā)送到同一個人操作的另一臺設(shè)備渗柿,僅用于顯示該設(shè)備上的磁盤空間信息;此例外僅適用于用戶明確允許發(fā)送磁盤空間信息的情況脖岛,并且該信息不得通過 Internet 發(fā)送朵栖。

E174.1

聲明此原因是為了檢查是否有足夠的磁盤空間來寫入文件,或者檢查磁盤空間是否不足柴梆,以便應(yīng)用程序可以在磁盤空間不足時刪除文件陨溅。應(yīng)用程序必須根據(jù)磁盤空間以用戶可觀察到的方式表現(xiàn)不同。

出于此原因訪問的信息或任何派生信息可能不會發(fā)送到設(shè)備外绍在。有一個例外门扇,允許應(yīng)用程序在磁盤空間不足時避免從服務(wù)器下載文件。

7D9E.1

聲明此原因以在使用設(shè)備的人員選擇提交的可選錯誤報告中包含磁盤空間信息偿渡。磁盤空間信息必須作為報告的一部分突出地顯示給相關(guān)人員臼寄。

僅在用戶明確選擇提交包括磁盤空間信息的特定錯誤報告之后,并且僅出于調(diào)查或響應(yīng)錯誤報告的目的溜宽,因此訪問的信息或任何派生信息才可以發(fā)送到設(shè)備外吉拳。

B728.1

如果您的應(yīng)用程序是健康研究應(yīng)用程序,并且您訪問此 API 類別來檢測并通知研究參與者磁盤空間不足影響研究數(shù)據(jù)收集适揉,請聲明此原因合武。

您的應(yīng)用程序必須符合應(yīng)用程序商店審核指南§5.1.3。除了提供有關(guān)健康研究的信息并允許人們參與健康研究之外涡扼,您的應(yīng)用程序不得提供任何其他功能稼跳。

NSPrivacyAccessedAPICategoryFileTimestamp類型,代碼中包含以下函數(shù)或者方法:

creationDate

modificationDate

fileModificationDate

contentModificationDateKey

creationDateKey

getattrlist(_:_:_:_:_:)

getattrlistbulk(_:_:_:_:_:)

fgetattrlist(_:_:_:_:_:)

stat

fstat(_:_:)

fstatat(_:_:_:_:)

lstat(_:_:)

getattrlistat(_:_:_:_:_:_:)

NSPrivacyAccessedAPITypeReasons設(shè)置為以下:DDA9.1吃沪、C617.1汤善、3B52.1、0A2A.1

DDA9.1

聲明此原因以向使用該設(shè)備的人員顯示文件時間戳票彪。

出于此原因訪問的信息或任何派生信息可能不會發(fā)送到設(shè)備外红淡。

C617.1

聲明此原因以訪問應(yīng)用程序容器、應(yīng)用程序組容器或應(yīng)用程序的 CloudKit 容器內(nèi)的文件的時間戳降铸、大小或其他元數(shù)據(jù)在旱。

3B52.1

聲明此原因以訪問用戶明確授予訪問權(quán)限的文件或目錄的時間戳、大小或其他元數(shù)據(jù)推掸,例如使用文檔選擇器視圖控制器桶蝎。

0A2A.1

如果您的第三方 SDK 提供文件時間戳 API 的包裝函數(shù)供應(yīng)用程序使用驻仅,并且您僅在應(yīng)用程序調(diào)用您的包裝函數(shù)時訪問文件時間戳 API,請聲明此原因登渣。此原因只能由第三方 SDK 聲明噪服。如果您的第三方 SDK 主要是為了包裝所需的原因 API 而創(chuàng)建的,則可能不會聲明此原因胜茧。

出于此原因訪問的信息或任何派生信息不得用于第三方 SDK 自身的目的粘优,也不得由第三方 SDK 發(fā)送至設(shè)備外。

NSPrivacyAccessedAPICategorySystemBootTime類型呻顽,代碼中包含以下函數(shù)或者方法:

systemUptime

mach_absolute_time()

NSPrivacyAccessedAPITypeReasons設(shè)置為以下:35F9.1雹顺、8FFB.1、3D61.1

35F9.1

聲明此原因以訪問系統(tǒng)啟動時間廊遍,以便測量應(yīng)用程序內(nèi)發(fā)生的事件之間經(jīng)過的時間量或執(zhí)行計算以啟用計時器嬉愧。

出于此原因訪問的信息或任何派生信息可能不會發(fā)送到設(shè)備外。有關(guān)應(yīng)用程序內(nèi)發(fā)生的事件之間經(jīng)過的時間量的信息有一個例外昧碉,該信息可能會發(fā)送到設(shè)備外英染。

8FFB.1

聲明此原因以訪問系統(tǒng)啟動時間,以計算應(yīng)用程序內(nèi)發(fā)生的事件的絕對時間戳被饿,例如與UIKit或AVFAudio框架相關(guān)的事件四康。

您的應(yīng)用內(nèi)發(fā)生的事件的絕對時間戳可能會發(fā)送到設(shè)備外。出于此原因訪問的系統(tǒng)啟動時間或從系統(tǒng)啟動時間導(dǎo)出的任何其他信息可能不會發(fā)送到設(shè)備外狭握。

3D61.1

聲明此原因以在使用設(shè)備的人選擇提交的可選錯誤報告中包含系統(tǒng)啟動時間信息闪金。系統(tǒng)啟動時間信息必須作為報告的一部分顯著地向人員顯示。

僅在用戶肯定選擇提交包括系統(tǒng)啟動時間信息的特定錯誤報告之后论颅,并且僅出于調(diào)查或響應(yīng)錯誤報告的目的哎垦,才可以將出于此原因訪問的信息或任何派生信息發(fā)送到設(shè)備外。

NSPrivacyAccessedAPICategoryUserDefaults類型恃疯,代碼中包含以下函數(shù)或者方法:

UserDefaults

NSPrivacyAccessedAPITypeReasons設(shè)置為以下:CA92.1漏设、1C8F.1、C56D.1今妄、AC6B.1

CA92.1

聲明此原因以訪問用戶默認讀取和寫入只能由應(yīng)用程序本身訪問的信息郑口。

此原因不允許讀取其他應(yīng)用程序或系統(tǒng)寫入的信息,或?qū)懭肟捎善渌麘?yīng)用程序訪問的信息盾鳞。

1C8F.1

聲明此原因以訪問用戶默認值以讀取和寫入僅可由與應(yīng)用程序本身屬于同一應(yīng)用程序組的成員的應(yīng)用程序犬性、應(yīng)用程序擴展和應(yīng)用程序剪輯訪問的信息。

此原因不允許讀取由同一應(yīng)用程序組外部的應(yīng)用程序腾仅、應(yīng)用程序擴展或應(yīng)用程序剪輯或系統(tǒng)寫入的信息乒裆。如果系統(tǒng)提供來自全局域的信息,則您的應(yīng)用程序不承擔(dān)責(zé)任推励,因為當(dāng)您的應(yīng)用程序嘗試讀取應(yīng)用程序的應(yīng)用程序組中的應(yīng)用程序鹤耍、應(yīng)用程序擴展或應(yīng)用程序剪輯寫入的信息時肉迫,您請求的域中不存在密鑰。

此原因也不允許寫入可由同一應(yīng)用程序組外部的應(yīng)用程序惰蜜、應(yīng)用程序擴展或應(yīng)用程序剪輯訪問的信息昂拂。

C56D.1

如果您的第三方 SDK 圍繞用戶默認 API 提供包裝函數(shù)供應(yīng)用程序使用受神,并且您僅在應(yīng)用程序調(diào)用您的包裝函數(shù)時才訪問用戶默認 API抛猖,請聲明此原因。此原因只能由第三方 SDK 聲明鼻听。如果您的第三方 SDK 主要是為了包裝所需的原因 API 而創(chuàng)建的财著,則可能不會聲明此原因。

出于此原因訪問的信息或任何派生信息不得用于第三方 SDK 自身的目的撑碴,也不得由第三方 SDK 發(fā)送至設(shè)備外撑教。

AC6B.1

聲明此原因以訪問用戶默認讀取密鑰以檢索 MDM 設(shè)置的托管應(yīng)用程序配置,或設(shè)置密鑰以存儲要通過 MDM 查詢的反饋信息醉拓,如 Apple 移動設(shè)備管理協(xié)議參考文檔中所述伟姐。com.apple.configuration.managedcom.apple.feedback.managed

NSPrivacyAccessedAPICategoryActiveKeyboards類型,代碼中包含以下函數(shù)或者方法:

activeInputModes

NSPrivacyAccessedAPITypeReasons設(shè)置為以下:3EC4.1亿卤、54BD.1

3EC4.1

如果您的應(yīng)用程序是自定義鍵盤應(yīng)用程序愤兵,并且您訪問此 API 類別以確定設(shè)備上處于活動狀態(tài)的鍵盤,請聲明此原因排吴。

為用戶提供系統(tǒng)范圍的自定義鍵盤必須是應(yīng)用程序的主要功能秆乳。

出于此原因訪問的信息或任何派生信息可能不會發(fā)送到設(shè)備外。

54BD.1

聲明此原因以訪問活動鍵盤信息钻哩,以便向使用該設(shè)備的人員呈現(xiàn)正確的自定義用戶界面屹堰。應(yīng)用程序必須具有用于輸入或編輯文本的文本字段,并且必須以用戶可觀察到的方式根據(jù)活動鍵盤采取不同的行為街氢。

出于此原因訪問的信息或任何派生信息可能不會發(fā)送到設(shè)備外扯键。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市珊肃,隨后出現(xiàn)的幾起案子荣刑,更是在濱河造成了極大的恐慌,老刑警劉巖近范,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嘶摊,死亡現(xiàn)場離奇詭異,居然都是意外死亡评矩,警方通過查閱死者的電腦和手機叶堆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來斥杜,“玉大人虱颗,你說我怎么就攤上這事沥匈。” “怎么了忘渔?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵高帖,是天一觀的道長。 經(jīng)常有香客問我畦粮,道長散址,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任宣赔,我火速辦了婚禮预麸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘儒将。我一直安慰自己吏祸,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布钩蚊。 她就那樣靜靜地躺著贡翘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪砰逻。 梳的紋絲不亂的頭發(fā)上鸣驱,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機與錄音诱渤,去河邊找鬼丐巫。 笑死,一個胖子當(dāng)著我的面吹牛勺美,可吹牛的內(nèi)容都是我干的递胧。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼赡茸,長吁一口氣:“原來是場噩夢啊……” “哼缎脾!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起占卧,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤遗菠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后华蜒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辙纬,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年叭喜,在試婚紗的時候發(fā)現(xiàn)自己被綠了贺拣。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖譬涡,靈堂內(nèi)的尸體忽然破棺而出闪幽,到底是詐尸還是另有隱情,我是刑警寧澤涡匀,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布盯腌,位于F島的核電站,受9級特大地震影響陨瘩,放射性物質(zhì)發(fā)生泄漏腕够。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一拾酝、第九天 我趴在偏房一處隱蔽的房頂上張望燕少。 院中可真熱鬧卡者,春花似錦蒿囤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至恒傻,卻和暖如春脸侥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背盈厘。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工睁枕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人沸手。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓外遇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親契吉。 傳聞我的和親對象是個殘疾皇子跳仿,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容