Wednesday, May 11, 2016

What happens when installing ipa and launching the app from springboard

When we build the app for release what happens really is it creates a directory which contains all the things our app needs.
Once ipa is generated,right click the app file (not the Dipa file) and select show package contents.Besides normal project files and resources you will be able to see other two things:

  1. Provisioning file
  2. Code signature directory-Inside it there is a file called "Code resources", a plist file which has cryptographic hashes for all the files in the solution.
When installing the ipa,it checks whether the provisioning file is actually signed from apple and compares each one of the hashes in the code resources against all the real files to verify whether its modified since the build.If anything fails,app won't be installed.

And then when you launch the app,it checks the app has not been modified and you still have provision file for the app to run.If any problem arises in these steps,app will crash.

For further reading on this topic,where to go from here? Check out Demystifying iOS certificates and provisioning file 

No comments:

Post a Comment