Forge allows the development of iOS apps on Linux without the use of an
OS X machine. To do this you will need a physical iOS device (the iOS
simulator will only run on OS X), and an iOS developer account. In order
to sign your application (which is required to install it onto the
device, even for testing), we provide a remote signing service, which
your app will be sent to, signed and returned as part of the
forge run ios and
forge package ios command.
In order to sign your application you need to provide us with the following:
Both of these can be created and managed from the Apple iOS provisioning portal, which should be accessible from the iOS developer center: https://developer.apple.com/ios/. The instructions on that site are for OS X, more detailed instructions for creating a developer certificate on Linux are included below.
Once these are setup you should be able to use
forge run ios to
install the app on your device.
To create a certificate you need to generate a certificate signing request, in Linux this can be done by following these steps:
openssl req -subj "/CN=Connor Dunn/O=User" -nodes -newkey rsa:2048 -keyout private.key -out request.csrreplacing
Connor Dunnwith your name as registered with your Apple ID.
request.csryou just created
openssl x509 -inform der -in ios_development.cer -out certificate.pemto convert the certificate format
openssl pkcs12 -export -in certificate.pem -inkey private.key -name "iOS Developement Certificate" -out certificate_with_key.p12to package the certificate and key. The password you supply will be the one you need to provide to Forge, and prevents unauthorized users from using the certificate if they were to come into possession of the certificate file.
Note: This will leave you with a few files you no longer need, you can safely delete
certificate.pem. You can also delete
private.keyas it is included in the p12 file, if you don't delete it you should store it securely as it can be used to sign with your certificate. You should keep
certificate_with_key.p12to use with Forge, and make sure it and the password are stored securely so others can't sign as you.
Once you have created a certificate you need to create a provisioning profile, this is also done via the iOS provisioning portal website:
*as a Bundle Identifier is recommended, as it means multiple apps can be signed with a single provisioning profile.
Note: Provisioning profiles must be recreated if certificates or devices are changed.