sauce-archives / isign

Code sign iOS applications, without proprietary Apple software or hardware
Other
757 stars 314 forks source link

Provisioning profile + entitlements refactor #151

Closed neilk closed 4 years ago

neilk commented 4 years ago

The main difference is that we have gone from 1 provisioning profile/entitlements to potentially many. This is required to support sub-bundles with different bundle ids + distribution provisioning profiles, such as WatchKit.

A dictionary of provisioning profiles is kept in Provisioner, as well as entitlements as strings. Provisioner is then passed down recursively to all sub-bundles, and each bundle will get the best provisioning profiles and entitlements for itself.

Entitlements have also been refactored to be a little neater; there is no more Entitlements.plist file that gets added to the app. This was always a wart of isign & I'm glad it's gone :)

A few other cleanups such as moving OpenSslShell to its own class.