iOS Adhoc/Debug builds crash after addition of privacy statement
- Dominant language
- C#
- Stars
- 23.3k
- Forks
- 2k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 290
Description
### Description
Here is what happened.
1. I created an adhoc ios build that worked fine.
2. When we uploaded it to app store, it did not go through due to missing privacy statement, so I added that manually for a number of used packages. The app got published and it works.
3. Then we got a report from a user of something to look at, and I was building for debugging.
None of simulators worked. All crashed with the following error message: DYLD 1 Library missing
Library not loaded @rpath/nanopb.framework/nanopb
I even built for debugging on physical device and it crashed on the device as well.
This error led me to believe there is something wrong with nanopb for debug mode. That I either need to update it, or remove it in order to debug.
4. At a later date, I added some functionality, and created a new adhoc ios.
I got the same issue with nanopb.
But this was the same kind of build that had been working before.
Reverted back all code to earlier date and built again.
Everything worked.
Next commit was the one with added privacy statement.
Build and create adhoc file again.
It crashes.
so I removed the nanopb privacy statement, but it didn't help.
However, if I removed ALL privacy statement references from the project file, then it worked.
It seems like I have to make privacy statements conditional to appstore build, but why?
Here is how they are referred to in the project file:
`
Frameworks/FBAEMKit.framework/PrivacyInfo.xcprivacy
Frameworks/FBLPromises.framework/PrivacyInfo.xcprivacy
Frameworks/FBSDKCoreKit.framework/PrivacyInfo.xcprivacy
Frameworks/FBSDKCoreKit_Basics.framework/PrivacyInfo.xcprivacy
Frameworks/FBSDKLoginKit.framework/PrivacyInfo.xcprivacy
Frameworks/FirebaseCore.framework/PrivacyInfo.xcprivacy
Frameworks/FirebaseCoreDiagnostics.framework/PrivacyInfo.xcprivacy
Frameworks/FirebaseInstallations.framework/PrivacyInfo.xcprivacy
Frameworks/FirebaseMessaging.framework/PrivacyInfo.xcprivacy
Frameworks/GTMSessionFetcher.framework/PrivacyInfo.xcprivacy
Frameworks/GoogleDataTransport.framework/PrivacyInfo.xcprivacy
Frameworks/GoogleToolboxForMac.framework/PrivacyInfo.xcprivacy
Frameworks/GoogleUtilities.framework/PrivacyInfo.xcprivacy
Frameworks/Protobuf.framework/PrivacyInfo.xcprivacy
Frameworks/Leveldb.framework/PrivacyInfo.xcprivacy
Frameworks/Nanopb.framework/PrivacyInfo.xcprivacy
`
### Steps to Reproduce
See description above.
nanopb is used implicitly, my oackage reference is
`
`
### Link to public reproduction project repository
_No response_
### Version with bug
9.0.82 SR8.2
### Is this a regression from previous behavior?
Not sure, did not test other versions
### Last version that worked well
Unknown/Other
### Affected platforms
iOS
### Affected platform versions
tested on iOS 18.5
### Did you find any workaround?
It seems like I have to make privacy statements conditional to appstore build,
### Relevant log output
```shell
```
Contributor guide
Research direction
Start with the project-file ItemGroup shown in the report and the Plugin.Firebase.CloudMessaging 2.0.4 package on .NET 9 iOS with MAUI 9.0.82 SR8.2. Compare debug, device, and adhoc bundle contents and the DYLD failure for nanopb.framework; done means privacy manifest entries no longer cause debug or device builds to crash.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, firebase, ios
- Domain
- build-system, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100