Forge allows the development of iOS apps on Windows without the use of
an OS X machine. To do this you will need a development-enabled physical
iOS device 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.
Note: Your iOS device must be enabled for development before our Windows tools can view logging output. This means attaching it to an OS X machine and selecting "Enable for development" in the Xcode organizer. If you're not able to do this, you can still install apps onto the device, and use the iPhone Configuration Utility to view log output (http://support.apple.com/downloads/#iphone)
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 Windows are included below.
Once these are setup you should be able to use
forge run ios to
install the app on your device and see log output in the terminal on
To create a certificate you need to generate a certificate signing request, in Windows this can be done by following these steps:
Create a file
request.txt with the following content, replacing
Connor Dunn with the name registered to your Apple Developer
[NewRequest] Subject="cn=Connor Dunn,o=User" RequestType=pkcs10 KeyLength=2048 Exportable=TRUE
Run the following command in the same directory as
certreq -new request.txt
certmgr.msc: this should open a certificate management tool. In this tool browse to
Personalcertificates, you should see the iPhone Developer certificate you just installed.
See configuration for the tools for more information on the Tools config.
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.