Comments (20)
Yes, it seems Apple's requirements have gotten ahead of its tooling again. Are you linking Alamofire statically in those cases? If so, I suggest trying the AlamofireDynamic
package (or setting CocoaPods back to its dynamic default). It seems Xcode doesn't do anything to combine your target's privacy manifest with those of your statically integrated dependencies, so you may need to link dynamically for ASC to properly assign the manifests to the relevant binary. Alternatively, you can manually combine your statically linked dependency manifests with your target's manifest and ASC should be fine.
from alamofire.
I tried with AlamofireDynamics using SPM. Still Xcode generated PDF report does not have record for Alamofire. Its with 5.9.1. I am using Xcode 15.0
from alamofire.
Alamofire isn't distributed as a static library, SPM simply links it statically, and ASC's scanner doesn't know to look for the bundle with the manifest. It is there, in the app bundle, but it's just not found.
from alamofire.
I haven't been able to get Xcode's privacy manifest generator to work either, whether for Alamofire or a project without Alamofire. Closest I've gotten is the report containing an error when the app's privacy manifest doesn't include the required keys. Once those keys were added the report was just an empty PDF file. So I think it's just broken. Do make sure to report if App Store Connect reports an issues related to Alamofire when you submit builds.
from alamofire.
Do make sure to report if App Store Connect reports an issues related to Alamofire when you submit builds.
This is happening with my team's app.
The app's privacy report is showing privacy info for some SDKs, so some are being linked correctly, but Alamofire is not one of them. This is consistent with our App Store Connect warnings, which we believe are in part due to Alamofire. One of them is a warning for the system boot time APIs from an app extension that includes Alamofire as the only third-party SDK, and we never call any of those in our code.
from alamofire.
@jshier I created the app as an empty project and installed Alamofire with the latest version using SPM.
Alamofire PrivacyInfo has 'System Boot Time'
Apple sent me an e-mail saying that 'NSPrivacyAccessedAPICATEGORY SYSTEMBootTime' was missing.
from alamofire.
Try using the AlamofireDynamic target instead of Alamofire. Like I said, they don't seem to be detecting statically linked privacy manifests correctly.
from alamofire.
Hi, Can you let me know the steps to use almofire dynamic to get correct privacy report.
from alamofire.
@jshier This issue doesnt seem to be resolved.
Can you please guide us the steps to use the sdk so privacy report should containt reference of almofire.
In xcode 15 and 5.9.1 lib not giving us result.
from alamofire.
I tried with AlamofireDynamics using SPM. Still Xcode generated PDF report does not have record for Alamofire. Its with 5.9.1. I am using Xcode 15.0
Alamofire doesn't have anything to type in the report, so maybe it doesn't show up.
from alamofire.
I tried with AlamofireDynamics using SPM. Still Xcode generated PDF report does not have record for Alamofire. Its with 5.9.1. I am using Xcode 15.0
Alamofire doesn't have anything to type in the report, so maybe it doesn't show up.
@wlxo0401 it was using SYSTEMBootTime, so we are getting warning email for this from Apple. I believe this should be reflected in report generated by Xcode also. Other libraries are in the report and warnings for them are not coming now.
from alamofire.
I tried with AlamofireDynamics using SPM. Still Xcode generated PDF report does not have record for Alamofire. Its with 5.9.1. I am using Xcode 15.0
Alamofire doesn't have anything to type in the report, so maybe it doesn't show up.
@wlxo0401 it was using SYSTEMBootTime, so we are getting warning email for this from Apple. I believe this should be reflected in report generated by Xcode also. Other libraries are in the report and warnings for them are not coming now.
"Privacy Accessed API Types" is not related to Report PDF.
PDF content includes "Privacy Nutrition Label Types".
Please let me know if I misunderstood something else.
from alamofire.
@wlxo0401 Apple sending warning email, for SYSTEMBootTime, if its not coming in PDF report.
from alamofire.
The PDF isn't actually relevant here, Apple is scanning your binary directly. (I haven't gotten the PDF to generate correctly anyway, even for empty test projects.)
I'm not sure what else we can do here. The manifest is in place, handled by the tools as suggested (vaguely) by Apple. There's even a dynamic target you can use if the static linking causes issues. Barring any actual diagnostics from Apple, there's nothing we can even try to change.
from alamofire.
upgraded to the latest SDK 5.9.1 still getting these warning email by Apple about
NSPrivacyAccessedAPICategorySystemBootTime
not sure why even they are not generating in PDF as well.
from alamofire.
Was anyone here able to get through with this issue ?
from alamofire.
@abhishekthanvi8 add this in your project's privacy info file. this solves for now.
from alamofire.
Hello, I still got email from apple to include few API.
please add NSPrivacyAccessedAPICategorySystemBootTime api in your privacy manifest.
I ran deriveddata % grep -RHn "systemUptime" (https://forums.developer.apple.com/forums/thread/749049) and got:
./SourcePackages/checkouts/Alamofire/Source/Core/DownloadRequest.swift:368: let start = ProcessInfo.processInfo.systemUptime
./SourcePackages/checkouts/Alamofire/Source/Core/DownloadRequest.swift:377: let end = ProcessInfo.processInfo.systemUptime
./SourcePackages/checkouts/Alamofire/Source/Core/WebSocketRequest.swift:283: let startTimestamp = ProcessInfo.processInfo.systemUptime
./SourcePackages/checkouts/Alamofire/Source/Core/WebSocketRequest.swift:293: let endTimestamp = ProcessInfo.processInfo.systemUptime
./SourcePackages/checkouts/Alamofire/Source/Core/DataRequest.swift:244: let start = ProcessInfo.processInfo.systemUptime
./SourcePackages/checkouts/Alamofire/Source/Core/DataRequest.swift:254: let end = ProcessInfo.processInfo.systemUptime
./SourcePackages/checkouts/Alamofire/Source/Features/AuthenticationInterceptor.swift:336: mutableState.refreshTimestamps.append(ProcessInfo.processInfo.systemUptime)
./SourcePackages/checkouts/Alamofire/Source/Features/AuthenticationInterceptor.swift:357: let refreshWindowMin = ProcessInfo.processInfo.systemUptime - refreshWindow.interval
Binary file
Binary file ./Build/Intermediates.noindex/Alamofire.build/Debug-iphoneos/Alamofire.build/Objects-normal/arm64/AuthenticationInterceptor.swiftdeps matches
Binary file ./Build/Intermediates.noindex/Alamofire.build/Debug-iphoneos/Alamofire.build/Objects-normal/arm64/WebSocketRequest.o matches
Binary file ./Build/Intermediates.noindex/Alamofire.build/Debug-iphoneos/Alamofire.build/Objects-normal/arm64/WebSocketRequest.swiftdeps matches
Binary file ./Build/Intermediates.noindex/Alamofire.build/Debug-iphoneos/Alamofire.build/Objects-normal/arm64/DownloadRequest.swiftdeps matches
Binary file ./Build/Intermediates.noindex/Alamofire.build/Debug-iphoneos/Alamofire.build/Objects-normal/arm64/AuthenticationInterceptor.o matches
Binary file ./Build/Intermediates.noindex/Alamofire.build/Debug-iphoneos/Alamofire.build/Objects-normal/arm64/Alamofire-master.priors matches
Binary file ./Build/Intermediates.noindex/Alamofire.build/Debug-iphoneos/Alamofire.build/Objects-normal/arm64/DownloadRequest.o matches
Binary file ./Build/Intermediates.noindex/Alamofire.build/Debug-iphoneos/Alamofire.build/Objects-normal/arm64/DataRequest.swiftdeps matches
Binary file ./Build/Intermediates.noindex/Alamofire.build/Debug-iphoneos/Alamofire.build/Objects-normal/arm64/DataRequest.o matches
from alamofire.
Until an issue with Alamofire's privacy manifest can be identified so I can fix it, I suggest just adding that entry to your app's own privacy manifest until Apple gets their detector working properly.
from alamofire.
can you check this comment apple/swift-package-manager#7317 (comment), not sure if it helps.
from alamofire.
Related Issues (20)
- Crash - CompositeEventMonitor.request<A>(_:didParseResponse:) HOT 1
- The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.10, but the range of supported deployment target versions is 10.13 to 14.2.99. (in target 'Alamofire macOS' from project 'Alamofire') HOT 1
- In Xcode's InspectorView, Signature's Kind is Unsigned HOT 1
- Crash on startup with Alamofire 4.9.1 HOT 1
- Cocoapods support for visionOS HOT 4
- Authenticator with Swift Concurrency HOT 3
- Not possible to `validate` `WebSocketRequest`? HOT 2
- WebSocketRequest Should Support Validation
- Request for Alamofire Dependency Update to Support Privacy Manifest in AlamofireObjectMapper SDK HOT 1
- Build test target failed with release 5.9
- Significant delay before uploading large files with multipart HOT 3
- Validation()'s variants don't exist for WebSocketRequest
- Privacy manifest for iOS HOT 2
- Privacy Concerns calling systemUptime API HOT 17
- Version 5.9.1 AppStore Connect issues: ITMS-91065: Missing signature HOT 12
- EncodeIfPresent Doesn't Honor If An Optional is Present for URLEncodedFormEncoder HOT 1
- Undefined symbols for architecture arm64 HOT 1
- Not working on Xcode 15.3: cannot load module 'Alamofire' built with SDK 'iphonesimulator17.2' when using SDK 'iphonesimulator17.4" HOT 1
- Insecure Storage: Lacking Data Protection
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from alamofire.