<p>How can you beta test an iPhone app?  I can get it on my own device, and anyone that gives me a device, I can run it on theirs, but is there a way to do a limited release via the app store for beta testing?</p>

<p>Related: Also, see <a href="https://stackoverflow.com/questions/37464/iphone-app-minus-app-store">this question</a> on getting your app onto phones without using the App Store.</p>

[{'answer_id': 2144931, 'author': 'abg', 'author_id': 259826, 'author_profile': 'https://Stackoverflow.com/users/259826', 'pm_score': 4, 'selected': False, 'text': '<p>Note that there is a distinction between traditional "beta testing" which is done by professional QA engineers, and "public beta testing" which is releasing your product to the public before it\'s ready : )</p>\n\n<p>You can do "beta testing" -- loading to specific iPhones/iPods your testers will be using. You can\'t do "public beta testing" -- pre-releasing to the public.</p>\n'}, {'answer_id': 2426270, 'author': 'Arne Evertsson', 'author_id': 16686, 'author_profile': 'https://Stackoverflow.com/users/16686', 'pm_score': 9, 'selected': False, 'text': '<h1>Creating ad-hoc distribution profiles</h1>\n\n<p>The <a href="http://developer.apple.com/library/mac/#documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp/TestingYouriOSApp.html" rel="noreferrer">instructions that Apple provides are here</a>, but here is how I created a general provisioning profile that will work with multiple apps, and added a beta tester.</p>\n\n<p>My setup:</p>\n\n<ul>\n<li>Xcode 3.2.1</li>\n<li>iPhone SDK 3.1.3</li>\n</ul>\n\n<p>Before you get started, make sure that..</p>\n\n<ul>\n<li>You can run the app on your own iPhone through Xcode.</li>\n</ul>\n\n<h2>Step A: Add devices to the Provisioning Portal</h2>\n\n<ol>\n<li><p>Send an email to each beta tester with the following message:</p>\n\n<blockquote>\n  <p>To get my app on onto your iPhone I need some information about your phone. Guess what, there is an app for that!</p>\n  \n  <p>Click on the below link and install and then run the app.</p>\n  \n  <p><a href="http://itunes.apple.com/app/ad-hoc-helper/id285691333?mt=8" rel="noreferrer">http://itunes.apple.com/app/ad-hoc-helper/id285691333?mt=8</a></p>\n  \n  <p>This app will create an email. Please send it to me.</p>\n</blockquote></li>\n<li><p>Collect all the UDIDs from your testers.</p></li>\n<li><p>Go to the <a href="http://developer.apple.com/iphone/manage/overview/index.action" rel="noreferrer">Provisioning Portal</a>.</p></li>\n<li><p>Go to the section <strong>Devices</strong>.</p></li>\n<li><p>Click on the button <strong>Add Devices</strong> and add the devices previously collected.</p></li>\n</ol>\n\n<h2>Step B: Create a new provisioning profile</h2>\n\n<ol>\n<li><p>Start the Mac OS utility program <strong>Keychain Access</strong>.</p></li>\n<li><p>In its main menu, select <strong>Keychain Access  / Certificate Assistant / Request a Certificate From a Certificate Authority...</strong></p></li>\n<li><p>The dialog that pops up should aready have your email and name it it.</p></li>\n<li><p>Select the radio button <strong>Saved to disk</strong> and Continue.</p></li>\n<li><p>Save the file to disk.</p></li>\n<li><p>Go back to the <a href="http://developer.apple.com/iphone/manage/overview/index.action" rel="noreferrer">Provisioning Portal</a>.</p></li>\n<li><p>Go to the section <strong>Certificates</strong>.</p></li>\n<li><p>Go to the tab <strong>Distribution</strong>.</p></li>\n<li><p>Click the button <strong>Request Certificate</strong>.</p></li>\n<li><p>Upload the file you created with Keychain Access: <strong>CertificateSigningRequest.certSigningRequest</strong>.</p></li>\n<li><p>Click the button <strong>Aprove</strong>.</p></li>\n<li><p>Refresh your browser until the status reads <strong>Issued</strong>.</p></li>\n<li><p>Click the <strong>Download button</strong> and save the file <strong>distribution_identify.cer</strong>.</p></li>\n<li><p>Doubleclick the file to add it to the Keychain.</p></li>\n<li><p>Backup the certificate by selecting its <em>private key</em> and the <strong>File / Export Items...</strong>.</p></li>\n<li><p>Go back to the <a href="http://developer.apple.com/iphone/manage/overview/index.action" rel="noreferrer">Provisioning Portal</a> again.</p></li>\n<li><p>Go to the section <strong>Provisioning</strong>.</p></li>\n<li><p>Go to the tab <strong>Distribution</strong>.</p></li>\n<li><p>Click the button <strong>New Profile</strong>.</p></li>\n<li><p>Select the radio button <strong>Ad hoc</strong>.</p></li>\n<li><p>Enter a profile name, I named mine <em>Evertsson Common Ad Hoc</em>.</p></li>\n<li><p>Select the app id. I have a common app id to use for multiple apps: <em>Evertsson Common</em>.</p></li>\n<li><p>Select the devices, in my case my own and my tester\'s.</p></li>\n<li><p>Submit.</p></li>\n<li><p>Refresh the browser until the status field reads <strong>Active</strong>.</p></li>\n<li><p>Click the button <strong>Download</strong> and save the file to disk.</p></li>\n<li><p>Doubleclick the file to add it to Xcode.</p></li>\n</ol>\n\n<h2>Step C: Build the app for distribution</h2>\n\n<ol>\n<li><p>Open your project in Xcode.</p></li>\n<li><p>Open the <em>Project Info</em> pane: In <strong>Groups &amp; Files</strong> select the topmost item and press <strong>Cmd+I</strong>.</p></li>\n<li><p>Go to the tab <strong>Configuration</strong>.</p></li>\n<li><p>Select the configuration <strong>Release</strong>.</p></li>\n<li><p>Click the button <strong>Duplicate</strong> and name it <strong>Distribution</strong>.</p></li>\n<li><p>Close the Project Info pane.</p></li>\n<li><p>Open the <em>Target Info</em> pane: In <em>Groups &amp; Files</em> expand <em>Targets</em>, select your target and press <strong>Cmd+I</strong>.</p></li>\n<li><p>Go to the tab <strong>Build</strong>.</p></li>\n<li><p>Select the <em>Configuration</em> named <strong>Distribution</strong>.</p></li>\n<li><p>Find the section <strong>Code Signing</strong>.</p></li>\n<li><p>Set the value of <strong>Code Signing Identity / Any iPhone OS Device</strong> to <strong>iPhone Distribution</strong>.</p></li>\n<li><p>Close the Target Info pane.</p></li>\n<li><p>In the main window select the <em>Active Configuration</em> to <strong>Distribution</strong>.</p></li>\n<li><p>Create a new file from the file template <em>Code Signing / Entitlements</em>.</p></li>\n<li><p>Name it <strong>Entitlements.plist</strong>.</p></li>\n<li><p>In this file, uncheck the checkbox <strong>get-task-allow</strong>.</p></li>\n<li><p>Bring up the <em>Target Info</em> pane, and find the section <strong>Code Signing</strong> again.</p></li>\n<li><p>After <strong>Code Signing Entitlements</strong> enter the file name <strong>Entitlements.plist</strong>.</p></li>\n<li><p>Save, clean, and build the project.</p></li>\n<li><p>In <em>Groups &amp; Files</em> find the folder <strong>MyApp / Products</strong> and expand it.</p></li>\n<li><p>Right click the app and select <strong>Reveal in Finder</strong>.</p></li>\n<li><p>Zip the .app file and the .mobileprovision file and send the archive to your tester.</p>\n\n<blockquote>\n  <p>Here is my app. To install it onto your phone:</p>\n  \n  <ol>\n  <li><p>Unzip the archive file.</p></li>\n  <li><p>Open iTunes.</p></li>\n  <li><p>Drag both files into iTunes and drop them on the Library group.</p></li>\n  <li><p>Sync your phone to install the app.</p></li>\n  </ol>\n</blockquote></li>\n</ol>\n\n<p>Done! Phew. This worked for me. So far I\'ve only added one tester.</p>\n'}, {'answer_id': 4868661, 'author': 'Jason', 'author_id': 165898, 'author_profile': 'https://Stackoverflow.com/users/165898', 'pm_score': 8, 'selected': True, 'text': '<p>In year 2011, there\'s a new service out called "Test Flight", and it addresses this issue directly.</p>\n\n<p>Apple has since bought TestFlight in 2014 and has integrated it into iTunes Connect and App Store Connect.</p>\n'}, {'answer_id': 15128012, 'author': 'Saurabh', 'author_id': 1634165, 'author_profile': 'https://Stackoverflow.com/users/1634165', 'pm_score': 2, 'selected': False, 'text': '<p>Using testflight :</p>\n\n<p>1) create the ipa file by development certificate</p>\n\n<p>2) upload the ipa file on testflight</p>\n\n<p>3) Now, to identify the device to be tested on , add the device id on apple account and refresh your development certificate. Download the updated certificate and upload it on testflight website. Check the device id you are getting.</p>\n\n<p>4) Now email the ipa file to the testers. </p>\n\n<p>5) While downloading the ipa file, if the testers are not getting any warnings, this means the device token + provisioning profile has been verified. So, the testers can now download the ipa file on device and do the testing job...</p>\n'}, {'answer_id': 20638839, 'author': 'Hari Ganesan', 'author_id': 1480438, 'author_profile': 'https://Stackoverflow.com/users/1480438', 'pm_score': 2, 'selected': False, 'text': '<p>There\'s a relatively new service called <a href="http://hockeyapp.net/" rel="nofollow">HockeyApp</a>, which seems to rival TestFlight, however they claim to give you access to unlimited users, but it does cost some $$ unlike TestFlight which has now been integrated directly into iTunes Connect.</p>\n'}, {'answer_id': 25801971, 'author': 'brixtar', 'author_id': 3030459, 'author_profile': 'https://Stackoverflow.com/users/3030459', 'pm_score': 2, 'selected': False, 'text': '<p>With iOS 8, Xcode 6, iTunes Connect and TestFlight you don\'t need UDIDs and Ad Hocs anymore. You will just need an Apple ID from your beta tester. Right now you can only beta test your app with 25 internal testers, but soon 1000 external testers will be available too. <a href="http://blog.thebetafamily.com/2014/09/10/testflight-beta-testing-ios-8/" rel="nofollow">This blog post</a> shows you how to setup a beta test with internal testers.</p>\n'}, {'answer_id': 26844165, 'author': 'tilo', 'author_id': 184245, 'author_profile': 'https://Stackoverflow.com/users/184245', 'pm_score': 1, 'selected': False, 'text': '<p><em>(As the official guide is still missing in this thread..)</em></p>\n\n<p><a href="https://developer.apple.com/app-store/testflight/" rel="nofollow">TestFlight</a>, acquired by Apple and now (iOS8+) available for beta testing makes it easy to hand your app to beta testers without the need to collect device UUIDs beforehand (you only need email addresses of your testers). An extensive guide explaining all necessary steps may be found in the <a href="https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/BetaTestingTheApp.html" rel="nofollow">iTunes Connect Developer Guide</a>.</p>\n'}, {'answer_id': 27542813, 'author': 'Midhun MP', 'author_id': 1104384, 'author_profile': 'https://Stackoverflow.com/users/1104384', 'pm_score': 3, 'selected': False, 'text': '<p>In 2014 along with iOS 8 and XCode 6 apple introduced <a href="https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp/TestingYouriOSApp.html" rel="noreferrer"><strong>Beta Testing of iOS App</strong></a> using iTunes Connect.</p>\n\n<p>You can upload your build to iTunes connect and invite testers using their mail id\'s. You can invite up to <strong>2000</strong> external testers using just their email address. And they can install the beta app through <a href="https://developer.apple.com/testflight/" rel="noreferrer"><strong>TestFlight</strong></a></p>\n'}, {'answer_id': 47131369, 'author': 'Saranjith', 'author_id': 5215474, 'author_profile': 'https://Stackoverflow.com/users/5215474', 'pm_score': 3, 'selected': False, 'text': '<h2>Diawi Alternatives</h2>\n\n<p>Since diawi.com have added some limitations for free accounds.</p>\n\n<p>Next best available and easy to use alternative is  </p>\n\n<p><strong>Microsoft</strong></p>\n\n<p><a href="https://appcenter.ms" rel="nofollow noreferrer">https://appcenter.ms</a></p>\n\n<p><strong>Google</strong></p>\n\n<p><a href="https://firebase.google.com/docs/app-distribution/ios/distribute-console" rel="nofollow noreferrer">https://firebase.google.com/docs/app-distribution/ios/distribute-console</a></p>\n\n<p><strong>Others</strong></p>\n\n<p><a href="https://hockeyapp.net/" rel="nofollow noreferrer">https://hockeyapp.net/</a></p>\n\n<p><a href="http://buildtry.com" rel="nofollow noreferrer">http://buildtry.com</a></p>\n\n<p>Happy build sharing!</p>\n'}]
['https://Stackoverflow.com/questions/40154', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/245/']