Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IPA Resign-in

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

IPA Resign-in

This presentations explains about the IPA Resign-in process.

Avatar for Pavan kumar Challa

Pavan kumar Challa

December 27, 2022

Other Decks in Technology

Transcript

  1. • IPA - Its an application archive fi le which

    includes the binary and can be installed on iOS devices • APPLE ENTERPRISE LICENSE - This license allows large organisations to develop and deploy proprietary, internal apps. • APP IDENTIFIER - Unique identi fi er for an app. • PROVISIONING PROFILES - Pro fi les used install development apps on test device or distribute apps to App Store etc. • ENTITLEMENTS - This fi le de fi nes the capabilities of the app.
  2. Uses of IPA Resign • When we receive an IPA

    fi le and want to install the apps on your devices • When the certi fi cates expire and want to regenerate the build with new certi fi cates • When the organisation have strict polices of not giving access to apple developer account or not sharing distribution certi fi cates.
  3. Step 1 : Make change to Info.Plist • Bundle Identi

    fi er - CFBundleIdenti fi er • Marketing Version - CFBundleShortVersionString • Bundle Version - CFBundleVersion
  4. Step 2 : Prepare new signing assets 1. Generate provision

    fi le for the original con fi guration security cms -D -i ../pro fi le.mobileprovision > provision.plist 2. Generate entitlements fi le for signing /usr/libexec/PlistBuddy -x -c 'Print :Entitlements' provision.plist > entitlements.plist 3. Check and update the new entitlements if anything is missing in keychain- access-groups.
  5. Step 3 : Replace mobileprovison 1. Unzip the IPA fi

    le 2. Remove _Codesignature in Payload folder 3. Replace mobileprovision pro fi le
  6. Step 4 : Codesign the app, frameworks and executable 1.

    Sign the app with your Developer or Distribution certi fi cate /usr/bin/codesign -f -s “developer/distribution.p12” --entitlements entitlements.plist Payload/MyApp.app 2. Sign all the frameworks with your developer or distribution certi fi cate /usr/bin/codesign -f -s "developer/distribution.p12" --entitlements entitlements.plist Payload/ MyApp.app/Frameworks/* 2. Sign the executable with your developer or distribution certi fi cate /usr/bin/codesign -f -s "developer/distribution.p12" --entitlements entitlements.plist Payload/ MyApp.app/MyApp