How to work out which frameworks are triggering pr

2019-02-20 14:53发布

问题:

I've got the classic problem of iTunes rejecting my .ipa because it's missing a bunch of .plist entries for 'privacy-senstive data' (in my case calendar, contacts, microphone, Apple Music and Siri!), despite my app having nothing to do with these frameworks.

I want to work out which 3rd party frameworks in my app are triggering this problem, rather than take the easy way out and just add the .plist entries.

Is there a way to analyse your .ipa or the files it contains to work out which 3rd party dependency is causing this issue?

Just to be clear, I understand I could just add the required .plist entries and this problem would go away - my question is specifically how to work out which dependencies are triggering this problem.

回答1:

despite my app having nothing to do with these frameworks.

Is your Link Behavior in your release configuration set to Don't Link?

If so, the non-stripped Xamarin.iOS.dll references everything and will cause all kinds of privacy/entitlement issues just due to the fact that your app is linked to them but actually never uses them.

The default Release configuration used to be Link Framework SDKs Only (-linksdk) but in the recent releases that does not seem to be the case even though the documentation states that it is.

Change the behavior to Link Framework SDKs Only, create another archive and ipa and see if Apple likes that version ;-)