What are Application files in iOS like APK in Android?
The application package files in iOS are called .ipa files. IPA stands for “iOS App Store Package”. Each .ipa file includes a binary for the ARM architecture and can only be installed on an iOS-device.
Android apps have a single APK file where I can easily import from my computer to my device and install it. I believe that iOS has ipa files. PA files are programs written for Apple iOS devices such as iPhone, iPod Touch or iPad. Such files are downloaded from the Apple iTunes App Store and can be transferred to an iOS device when it is connected to the computer.
An IPA has a built-in structure for iTunes and AppStore to recognize, The example below shows the structure of an IPA:
/Payload/
/Payload/Application.app
/iTunesArtwork
/iTunesArtwork@2x
/iTunesMetadata.plist
/WatchKitSupport/WK
Unlike .apk files .ipa files cannot be simply installed on an iOS device. It uses apple’s Fairplay digital rights management (DRM) technology, to prevent the installation of iOS apps on unauthorized devices.
Fairplay DRM works more like SSL. It works with public and private keys.
For example for secure communication with a server, I would use the servers public key to encrypt data to send to the server. The server would then use it’s private key to decrypt it.
Upon signing up for an Apple account Apple generates a Public/Private Key pair for your username. It then gives you your private key and it keeps your public key (That’s why when you first buy or when you restore your iDevice you must activate it with your iTunes account). Upon activation, iTunes sends a unique machine identifier to Apple’s servers. It registers your iDevice in their databases (this is done to limit the number of authorized devices) and then it transfers your private key to your iDevice. Basically what happens is when you buy an app (free or paid) Apple generate a 4196 byte long header that is encrypted with your public key. Only your private key can decrypt the header embedded in the app.
So for example, if I copied an IPA generated for you, and put it on my iDevice (this is assuming you can get it there, iTunes would refuse to sync it anyway), and then I tried to run it, it would simply crash because my private key wouldn’t be able to decrypt the header. Also its worth noting that the IPA file doesn’t have the header, if you take a look at the contents of an IPA you will realize that it contains an extension-less file, take Facebook’s app for example, it would have a file named ‘Facebook’. This is the app’s binary, and this is the file that has the encrypted header in it.
When a user deauthorizes a computer, iTunes will instruct Apple’s servers to remove the unique machine identifier from their database, and at the same time it will remove all the user keys from the deauthorized device’s encrypted key repository.
APK files are App packages for Android, not iOS.
They WILL NOT run on an iPhone. NEVER.
The coding is different, and will have to be re-written and re-compiled in XCode, and then you will need to transfer it to a jailbroken iPhone. There are some converter programs these days, but they are bad, you need to re-write it yourself to ensure no bugs.
Using Installer.app
Installer.app is a free iOS software initially developed by NullRiver. This app allowed any iPhone user to install third-party apps into the iPhone Application folder where other native apps reside.
Leave a Reply