Comments (11)
same here.
From Apple report, we (bugsnag sdk using apps) need to declare NSPrivacyAccessedAPICategoryDiskSpace.
I have a few questions:
- Which reason should app describe for NSPrivacyAccessedAPICategoryDiskSpace?
- Shouldn't this be reflected here for latest version (6.28.0 or later)?
https://docs.bugsnag.com/platforms/ios/appstore-privacy/#declaring-required-reasons-for-api-usage - Need to add NSPrivacyAccessedAPICategoryDiskSpace to Bugsnag's privacy file.
from bugsnag-cocoa.
Hi @n1tesh and @dinhnhat0401
I can confirm that usage of NSPrivacyAccessedAPICategoryDiskSpace
has been removed as of v6.28.0, but will still be included in apps built for macOS. We're not aware of any issues with this, and this release should adhere to all of Apple's API usage guidelines already. As such, we're keen to work with you to understand why you are seeing this.
Can you both confirm whether this is an iOS app you are submitting? Can you also let us know whether you get any other information in your reports from Apple? Please share the full reports if you are able, alongside any other information you think may be relevant.
from bugsnag-cocoa.
@mclack Yes this is regarding iOS App submission to AppStore v6.28.0.
Below is the warning mail we get post submission.
ITMS-91053: Missing API declaration - Your app’s code in the “MyAirtel” 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
from bugsnag-cocoa.
@mclack
thanks for the reply. Yes this is iOS app submission. MacOS includes M1 Mac devices which will practically using iPad version. I think this is why Apple sending this feedback.
One approach is making the app comply with 7D9E.1
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api
Let me know what you think.
from bugsnag-cocoa.
Hi @n1tesh and @dinhnhat0401
This is the first time we've seen users coming up against this particular issue for iOS releases, so we're currently unsure why this problem is occurring. We've tested building iOS apps ourselves (including a Mac Catalyst app, which will also run on macOS) and these do not include any call to statfs
, so we're confident that our SDK is in line with Apple's guidelines.
We'd be interested to know what the result of running the following command on your binary is. This will scan for mentions of statfs
:
strings <application_binary> | grep statfs
We'd also like to confirm that it is definitely the BugSnag library which is leading to this warning, as Apple's response does not make this clear. Are you able to remove the BugSnag library from your app, and test whether this prevents the warning? After doing this, would you be able to re-run the command above to see if this results in any changes to mentions of statfs
in the built binary?
If you're able to confirm that removing BugSnag entirely fixes the warning, then we'd suggest creating your own fork of bugsnag-cocoa, and remove the statfs
call from the library:
If you're still having problems with this, then does removing all mentions of statfs
prevent the warning? It's possible that Apple is picking this string up where they shouldn't be.
from bugsnag-cocoa.
@mclack thanks for the info. After trying with a new empty project I can see the disk related statfs
caused by another lib our app is using. 👍
Question, is it correct that the disk space info that I can see on bugsnag (with 6.28.0) is from a different set of APIs that doesn't require reason to use?
from bugsnag-cocoa.
Hey @mclack, we receive this warning when we upload our iOS app to the store. As a workaround as suggested, I created a fork and removed the statfs
call and the warning is gone.
Do you think this could be removed from the main repo too at some point and perhaps replaced with a similar solution that go against Apple's new privacy rules?
from bugsnag-cocoa.
Hey @mclack, we receive this warning when we upload our iOS app to the store. As a workaround as suggested, I created a fork and removed the
statfs
call and the warning is gone.Do you think this could be removed from the main repo too at some point and perhaps replaced with a similar solution that go against Apple's new privacy rules?
Hello, after further checking, it looks like it's a different SDK that is causing the warning to trigger, not Bugsnag related.
Thanks
from bugsnag-cocoa.
Hey @mclack, we receive this warning when we upload our iOS app to the store. As a workaround as suggested, I created a fork and removed the
statfs
call and the warning is gone.
Do you think this could be removed from the main repo too at some point and perhaps replaced with a similar solution that go against Apple's new privacy rules?Hello, after further checking, it looks like it's a different SDK that is causing the warning to trigger, not Bugsnag related.
Thanks
@mclack thanks for the info. After trying with a new empty project I can see the disk related
statfs
caused by another lib our app is using. 👍Question, is it correct that the disk space info that I can see on bugsnag (with 6.28.0) is from a different set of APIs that doesn't require reason to use?
Can you share which. If its common for us then it would help.
from bugsnag-cocoa.
Hi @dinhnhat0401 and @airtelshivam
is it correct that the disk space info that I can see on bugsnag (with 6.28.0) is from a different set of APIs that doesn't require reason to use?
Since v6.28.0 of bugsnag-cocoa
, the functionality used to populate the device.freeDisk
field has been removed, so this should just be reported with a value of 0
unless you are manually populating it within your app:
bugsnag-cocoa/Bugsnag/include/Bugsnag/BugsnagDeviceWithState.h
Lines 24 to 25 in 16b9145
The only exception to this is for macOS, so device.freeDisk
should still be reported as usual in these applications.
Can you both confirm:
- Are these macOS applications?
- Are the reported
device.freeDisk
values equal to0
? - Are you manually populating this field within your app?
from bugsnag-cocoa.
Related Issues (20)
- `Bugsnag.featureFlags()` returning `nil` HOT 1
- Calling NSProcessInfo.thermalState from an app with bugsnag installed crashes with _os_unfair_lock_recursive_abort HOT 3
- Bugsnag build phase script to auto upload dsym with Xcode 14 failed to upload HOT 12
- Will this pop up infinitely? HOT 1
- Swift Command-Line Failure to Upload HOT 3
- App builds in Xcode 14.3 beta fail with Use of undeclared identifier '_PTHREAD_MUTEX_SIG_init' HOT 3
- Loadconfig memory leak HOT 3
- Uploading dSYM seems to not working using Build phase script manually HOT 3
- [BSGAppHangDetector startWithDelegate:] crash HOT 6
- Bugsnag does not compile for visionOS with Xcode 15 Beta 2 HOT 2
- Duplicate library warning in Xcode 15 Beta HOT 7
- Support unhandled Kotlin Native Exceptions HOT 1
- App crashes when trying to start Bugsnag on Watch app HOT 1
- Bugsnag keep user data after logout in crash reports HOT 2
- Apple's update to their API policy about Privacy Manifest HOT 6
- OWASP: Buffer Overflow Vulnerabilities HOT 1
- Privacy manifest causing collisions through CocoaPods HOT 2
- Apple Report Missing API declaration HOT 2
- StartWithConfig memory leak HOT 5
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 bugsnag-cocoa.