问题
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 ;-)
来源:https://stackoverflow.com/questions/47256815/how-to-work-out-which-frameworks-are-triggering-privacy-sensitive-plist-issues