Apple - Do I need to be a member of iOS Developers program to develop and install an app on my iPad?

UPDATE: With XCode 7 it is now possible to deploy an app on your own iOS9+ device for free. Only if you need to publish your app to the AppleStore will you need the paid membership. See qqbenq's answer for more details.

Without being a member, you can only run your app in the simulator. You must be a paid member to be able to install the app on a device.

Free:

Start developing for iOS and Mac OS X with the Xcode IDE, Dashcode, Instruments, Interface Builder, iOS Simulator and a suite of additional developer tools.

Paid:

Test and debug your code on iPad, iPhone and iPod touch to finalize your applications.


Xcode 7 and iOS 9 allow users to compile and install apps on personal devices without paying for an Apple developer license:

Now everyone can get their app on their Apple device.

Xcode 7 and Swift now make it easier for everyone to build apps and run them directly on their Apple devices. Simply sign in with your Apple ID, and turn your idea into an app that you can touch on your iPad, iPhone, or Apple Watch. Download Xcode 7 beta and try it yourself today. Program membership is not required.

Quoted from: https://developer.apple.com/xcode/

If you need to have other Apple ID run your app, then TestFlight and the paid Apple developer account makes sense. You also need to pay if you can not/will not use iOS 9 and Xcode 7 and want to run older tools and OS.


You need a jailbroken device. In my side, i recommend to jailbreak it. Besides this, it has a lot of cool and useful things to add.

Instructions for Appsync (needed to run the apps in a iDevice)

To install self signed ipa on iOS 3.1/3.2/4.x/5.x/6.x/7 devices,

  1. Go to Cydia->Manage and add http:// iphoneame.com/repo as a source.
  2. Download and install AppSync for iOS xxxxxxxx (xxxxxxxx is your device current iOS) from Cydia.

Instructions for making the apps and run them in your iDevice:

  1. Create a self signed code signing certificate.

On Mac OS X, go to Keychain Access -> Certificate Assistant -> Create a Certificate. It opens the certificate assistant window. Enter name (in my case it is securitylearn.net) and select certificate type as Code signing. Check let me override defaults option. Hit continue until it creates the certificate.

  1. Copy /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist to desktop. Edit the plist file and replace all occurrences of XCiPhoneOSCodeSignContext by XCCodeSignContext "XCiPhoneOSCodeSignContext" appears in 3 places – defaultproperties, runtimerequirements, overrideproperties, make sure to replace all of them.

  2. Copy the modified Info.plist file to /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/ directory and replace the existing file.

  3. Close and Restart the XCode.
  4. Create your project in the XCode and in the project target settings choose the certificate created in step 1 as the code signing identity. As this image http:// www.securitylearn.net/wp-content/uploads/2012/12/xcode-project-code-signing-settings.png

6.0 If you want to run it direct to your device, connect your jailbroken device with Appsync Installed and then next to "Run"Button select your device's name. (If you choosed this option this is the end of the tutorial)


6.1 If you want a .ipa file Select iOS Device, and follow the instructions below

  1. Build creates the .app file in the build/Debug-iphoneos folder.

Default location for .app file is - /Users/[user name]/Library/Developer/Xcode/DerivedData/[your app]/Build/Products/Debug-iphoneos/

  1. Create a folder named Payload and copy the .app file into it.
  2. Archive the Payload folder. It creates Payload.zip.
  3. Rename the Payload.zip to [app name].ipa. We have successfully created the ipa file without developer certificate and this can be installed on a jailbroken device. Just drag it to iTunes an sec your device! (Make sure to activate Apps Synchronization.)

For a more detailed instructions with images visit Securitylearn post