Friday, March 29, 2024
HomeiOS Developmentios - Why Apple retains warning even after I dealt with the...

ios – Why Apple retains warning even after I dealt with the brand new privateness manifest rule?


Apple’s message:

ITMS-91053: Lacking API declaration - Your app’s code within the “{app identify}” file references a number of APIs that require causes, together with the next API classes: NSPrivacyAccessedAPICategoryFileTimestamp. Whereas no motion is required presently, beginning Could 1, 2024, whenever you add a brand new app or app replace, you need to embody a NSPrivacyAccessedAPITypes array in your app’s privateness manifest to offer accredited causes for these APIs utilized by your app’s code. For extra particulars about this coverage, together with an inventory of required cause APIs and accredited causes for utilization, go to: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.

ITMS-91053: Lacking API declaration - Your app’s code within the “{app identify}” file references a number of APIs that require causes, together with the next API classes: NSPrivacyAccessedAPICategoryDiskSpace. Whereas no motion is required presently, beginning Could 1, 2024, whenever you add a brand new app or app replace, you need to embody a NSPrivacyAccessedAPITypes array in your app’s privateness manifest to offer accredited causes for these APIs utilized by your app’s code. For extra particulars about this coverage, together with an inventory of required cause APIs and accredited causes for utilization, go to: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.

ITMS-91053: Lacking API declaration - Your app’s code within the “{app identify}” file references a number of APIs that require causes, together with the next API classes: NSPrivacyAccessedAPICategorySystemBootTime. Whereas no motion is required presently, beginning Could 1, 2024, whenever you add a brand new app or app replace, you need to embody a NSPrivacyAccessedAPITypes array in your app’s privateness manifest to offer accredited causes for these APIs utilized by your app’s code. For extra particulars about this coverage, together with an inventory of required cause APIs and accredited causes for utilization, go to: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.

ITMS-91053: Lacking API declaration - Your app’s code within the “{app identify}” file references a number of APIs that require causes, together with the next API classes: NSPrivacyAccessedAPICategoryUserDefaults. Whereas no motion is required presently, beginning Could 1, 2024, whenever you add a brand new app or app replace, you need to embody a NSPrivacyAccessedAPITypes array in your app’s privateness manifest to offer accredited causes for these APIs utilized by your app’s code. For extra particulars about this coverage, together with an inventory of required cause APIs and accredited causes for utilization, go to: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.

So, I did the next to sort out the difficulty:

  • Improve third social gathering SDKs which can be listed within the required checklist of Apple in order that they’ve their manifest.
  • Out of the 4 API classes, solely NSPrivacyAccessedAPICategoryUserDefaults can also be wanted on the app facet (as my app makes use of UserDefaults), so I added it to the app’s PrivacyInfo.xcprivacy.

Nonetheless, after I submitted the brand new app, Apple nonetheless responded with the identical warning. My understanding is privateness manifests of the App and SDKs are merged into one (or equal). Is that appropriate? What am I lacking then?

Swift Packages and variations

The log from the xcodebuild

[08:11:49]: ▸ Resolved supply packages:
[08:11:49]: ▸   GoogleAppMeasurement: https://github.com/google/GoogleAppMeasurement.git @ 10.22.0
[08:11:49]: ▸   GoogleDataTransport: https://github.com/google/GoogleDataTransport.git @ 9.4.0
[08:11:49]: ▸   GTMSessionFetcher: https://github.com/google/gtm-session-fetcher.git @ 3.3.1
[08:11:49]: ▸   UIPiPView: [email protected]:torufuruya/UIPiPView.git @ b3183e7
[08:11:49]: ▸   CwlCatchException: https://github.com/mattgallagher/CwlCatchException.git @ 2.1.1
[08:11:49]: ▸   GoogleSignIn: https://github.com/google/GoogleSignIn-iOS @ 7.1.0
[08:11:49]: ▸   CwlPreconditionTesting: https://github.com/mattgallagher/CwlPreconditionTesting.git @ 2.1.0
[08:11:49]: ▸   AudioKit: https://github.com/AudioKit/AudioKit.git @ 5.5.7
[08:11:49]: ▸   nanopb: https://github.com/firebase/nanopb.git @ 2.30910.0
[08:11:49]: ▸   AppCheck: https://github.com/google/app-check.git @ 10.18.0
[08:11:49]: ▸   Pulse: https://github.com/kean/Pulse @ 1.1.0
[08:11:49]: ▸   Fast: https://github.com/Fast/Fast.git @ 6.1.0
[08:11:49]: ▸   SwiftlySearch: https://github.com/thislooksfun/SwiftlySearch.git @ 1.2.5
[08:11:49]: ▸   GoogleUserMessagingPlatform: https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git @ 2.3.0
[08:11:49]: ▸   swift-video-generator: https://github.com/dev-labs-bg/swift-video-generator.git @ 1.4.1
[08:11:49]: ▸   AdvancedScrollView: https://github.com/dmytro-anokhin/advanced-scrollview.git @ 0.0.6
[08:11:49]: ▸   GTMAppAuth: https://github.com/google/GTMAppAuth.git @ 4.1.1
[08:11:49]: ▸   Firebase: https://github.com/firebase/firebase-ios-sdk.git @ 10.22.0
[08:11:49]: ▸   SwiftyStoreKit: https://github.com/bizz84/SwiftyStoreKit.git @ 0.16.4
[08:11:49]: ▸   Mocker: https://github.com/WeTransfer/Mocker.git @ 3.0.1
[08:11:49]: ▸   leveldb: https://github.com/firebase/leveldb.git @ 1.22.3
[08:11:49]: ▸   Guarantees: https://github.com/google/guarantees.git @ 2.4.0
[08:11:49]: ▸   abseil: https://github.com/google/abseil-cpp-binary.git @ 1.2022062300.1
[08:11:49]: ▸   URLImage: https://github.com/dmytro-anokhin/url-image @ 3.1.1
[08:11:49]: ▸   AppAuth: https://github.com/openid/AppAuth-iOS.git @ 1.7.3
[08:11:49]: ▸   SwiftProtobuf: https://github.com/apple/swift-protobuf.git @ 1.25.2
[08:11:49]: ▸   swift-log: https://github.com/apple/swift-log.git @ 1.4.4
[08:11:49]: ▸   gRPC: https://github.com/google/grpc-binary.git @ 1.49.2
[08:11:49]: ▸   Mantis: https://github.com/guoyingtao/Mantis.git @ 2.7.0
[08:11:49]: ▸   Get: https://github.com/kean/Get.git @ 1.0.4
[08:11:49]: ▸   Fakery: https://github.com/vadymmarkov/Fakery @ 5.1.0
[08:11:49]: ▸   Nimble: https://github.com/Fast/Nimble.git @ 11.2.1
[08:11:49]: ▸   GoogleMobileAds: https://github.com/googleads/swift-package-manager-google-mobile-ads.git @ 11.2.0
[08:11:49]: ▸   GoogleUtilities: https://github.com/google/GoogleUtilities.git @ 7.13.1
[08:11:49]: ▸   ImagePickerView: https://github.com/ralfebert/ImagePickerView @ 0.5.0
[08:11:49]: ▸   InteropForGoogle: https://github.com/google/interop-ios-for-google-sdks.git @ 100.0.0

SDKs declaring the reported API classes

The outcome I grep the API classes instantly within the swift package deal checkout folder: ~/Library/Developer/Xcode/DerivedData/{app identify}/SourcePackages/checkouts/

NSPrivacyAccessedAPICategoryFileTimestamp

➜  checkouts grep NSPrivacyAccessedAPICategoryFileTimestamp . -lr
./firebase-ios-sdk/FirebaseDynamicLinks/Sources/Assets/PrivacyInfo.xcprivacy
./firebase-ios-sdk/Crashlytics/Assets/PrivacyInfo.xcprivacy
./grpc-binary/grpcpp-Wrapper/Assets/PrivacyInfo.xcprivacy
./grpc-binary/grpc-Wrapper/Assets/PrivacyInfo.xcprivacy
./grpc-binary/openssl-grpc-Wrapper/Assets/PrivacyInfo.xcprivacy
./gtm-session-fetcher/Sources/LogView/Assets/PrivacyInfo.xcprivacy
./GoogleUtilities/GoogleUtilities/Privateness/Assets/PrivacyInfo.xcprivacy

NSPrivacyAccessedAPICategoryDiskSpace

No SDKs. It will need to have used within the Firebase Crashlytics however it appears to be eliminated within the newest model.

# 10.22.0
- [fixed] Power validation or rotation of FIDs for FirebaseSessions.
- [changed] Eliminated calls to statfs within the Crashlytics SDK to adjust to Apple Privateness Manifests. This modification removes help for amassing Disk Area Free in Crashlytics studies.

I confirmed no different APIs that require this coverage listed within the official doc (e.g. statfs) had been utilized in any SDKs.

NSPrivacyAccessedAPICategorySystemBootTime

➜  checkouts grep NSPrivacyAccessedAPICategorySystemBootTime . -lr
./firebase-ios-sdk/Crashlytics/Assets/PrivacyInfo.xcprivacy
./grpc-binary/grpcpp-Wrapper/Assets/PrivacyInfo.xcprivacy
./grpc-binary/grpc-Wrapper/Assets/PrivacyInfo.xcprivacy
./grpc-binary/openssl-grpc-Wrapper/Assets/PrivacyInfo.xcprivacy

NSPrivacyAccessedAPICategoryUserDefaults

➜  checkouts grep NSPrivacyAccessedAPICategoryUserDefaults . -lr
./GoogleSignIn-iOS/GoogleSignIn/Sources/Assets/PrivacyInfo.xcprivacy
./firebase-ios-sdk/FirebaseDynamicLinks/Sources/Assets/PrivacyInfo.xcprivacy
./firebase-ios-sdk/Crashlytics/Assets/PrivacyInfo.xcprivacy
./firebase-ios-sdk/FirebaseCore/Inner/Sources/Assets/PrivacyInfo.xcprivacy
./firebase-ios-sdk/FirebaseCore/Sources/Assets/PrivacyInfo.xcprivacy
./firebase-ios-sdk/FirebaseAuth/Sources/Assets/PrivacyInfo.xcprivacy
./firebase-ios-sdk/FirebaseRemoteConfig/Swift/Assets/PrivacyInfo.xcprivacy
./gtm-session-fetcher/Sources/Core/Assets/PrivacyInfo.xcprivacy
./GoogleUtilities/GoogleUtilities/Privateness/Assets/PrivacyInfo.xcprivacy



Supply hyperlink

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -
Google search engine

Most Popular

Recent Comments