Distribute ios app to selected devices without paying for developer program - ios

I am using Xcode 10.1 and I am trying to allow a third party to test the app I have built but don't want to pay for the developer program.
I saw https://www.diawi.com/ but I can't see how to generate a .IPA file for diawi.
I followed the instructions for Fabric but it doesn't auto-detect the product archive file .xarchive.
Any suggestions appreciated

You can't distribute your app to third person without paid apple account. Because you need to add that third person's device's UDID on your apple account and generate new certificates. So yeah, even if you generate ipa of your app and distribute it via Diawi, the other person won't be able to install it, so there's no way to achieve what you want. You can visit here to see more details about different membership programs and features provided by them.

Related

how to Install App on device remotely iOS

I am android developer but I have just started the iOS development it was quite a fun until and unless i faced the distribution time.
My app is completed. now I have to give/send demo of the app to my client, I did R&D and found that to install app on device I need a UDID. I have one device also with me I have already added its UDID in my profile, so I can test on it.
Now tell me if I ask my client for UDID and if he supply me UDID, then after it how can I run app on his device. I can not access the client device physically.
I know this has been asked so many times and I have read those question. but most of them are outdated as I can not find those options in xcode
I am using xcode 9.2 and swft 4.2 . Please suggest me a batter way of doing that......
There are many options:-
Create adhoc profile then add UDID of client, then create IPA.Now create diawi link and share to client
Create enterprise profile, Create diawi and then create diawi and share it.
Go with testflight.
Useful Links:-
How create diawi
Create adhox
Use of test
Thanks
If you have client's device UDID then you can send build using Diawi link, Simply follow this steps.
First of all add client's UDID in developer.apple account.
Then Create "Provisioning profile -> AdHoc" profile. when you create AdHoc profile at that time select Client's UDID. (See more details https://support.magplus.com/hc/en-us/articles/204270188-iOS-Creating-an-Ad-Hoc-Distribution-Provisioning-Profile)
Using AdHoc profile archive project in xcode and export .ipa of application.
Upload exported .ipa file in https://www.diawi.com/
After finishing upload you can share build link with client.
Open this build link in safari browser(in device) to install application.
I suggest you use TestFlight.
You can create App on Appstore Connect and then upload one build to the Appstore using Xcode. After that you can simply use TestFlight to allow Internal or External Testers to download the app using TestFlight.
Advantages of TestFlight is that you don't need to have UDIDs of users, you can invite them using their email addresses. Also, you can invite external testers by using the Public Link now. You don't need email addresses of users if you create a Public Link and share the links with the users.
Apple beta distribution options are following,
You must have apple developer account enrolled to give away beta app.
1) TestFlight internal testers:- We can direct distribute by adding testers apple email to TestFlight section in AppStoreConnect.
2) TestFlight External Testers:-
We need to add any email ids of testers, they will get invitation with a redeem code, testers will have to redeem it using TestFlight app. User will notify for every build through TestFlight app. For External we have to submit for review for the first time only for every app version. Recently apple released feature to create a Public Link to invite testers, which you can share to any tester and tester can insert details directly from a web page.
3) Diawi Link:- You can upload build directly to Diawi, and distribute to testers whose UDIDS are attached with provisioning profile. There are some limitations to upload to Diawi like max ipa size is 100mb, expiration time 1day,....
4) AppBox:- To get rid if Diawi limitations, Some one introduce AppBox. AppBox is an open source GitHub repo, I found it some time ago, not using it regularly so I don't have deeper idea. AppBox is using dropbox to upload and using link to share with testers, we can directly upload to AppStore as-well.
Hope it covers all options of beta distribution for iOS, will update answer for AppBox as I will use more.

How to generate IPA file without apple developer program and without a connected device in Xcode 7.2?

My employer doesn't have an iPhone for testing, they are also not enrolled into Apple's developer program, but they recruited me as an iOS developer.
I was told to create an app and I did it with the help of simulator.
Now, they want me to generate an IPA file of that application for their client who is in another country to test, in his iPhone. Is that even possible?
You will certainly need a developer account if you want to run your app on a physical device (unless that device is jailbroken, which I wouldn't recommend). If your employer hired you as an iOS developer, you need to inform them that a requirement to doing iOS development is a developer account.
If you are going to be writing iOS apps to deploy on client device (which you won't have physical access to), you have a couple of options.
You could have your employer pay for the enterprise developer account ($299/year). This allows you to have an In House Distribution profile, which lets you build an IPA that can run on any iOS device without the need to register the UDID for each device in the provisioning profile.
You could use Apple's TestFlight to deploy the app to your clients' devices. This still requires a paid developer account as you are basically creating an app store build and distributing to others as "beta testers". The app goes through a more lax review process, but it still must have been signed with a distribution certificate, which you only can get with a paid account.
Bottom line, if your company is asking you to develop apps professionally, you need to get them to understand that the $99/year fee is part of the process. IF they can't justify that, they shouldn't be hiring out iOS development jobs.
Without Apple developer's account it is not possible. You would not be able to archive your code either. Have a look at these documents :
Apple's documentation : Exporting Your App for Testing (iOS, tvOS, watchOS)
Stackoverflow : How to export an ipa in Xcode 7
you have to enrolled into Apple's developer program, and add all UDID into you app device ID than generate a provisional profile. install it in xcode than create an archive, zip it and upload to diawi.com. Diawi( https://www.diawi.com/ ) is best solution, It will generate a link which you can give to client and they can install it on their device directly.
I have faced same problem at start of my job :)
- but it is not possible to generate ipa without apple developer account.
- and even if you connect device to deploy then device iOS version and XCode iOS version must be same.
you have to enrolled into Apple's developer program and this is not enough. For over-the-air installation you have to use apple's testflight or hockeyapp like third party apps.

Distribute iOS App executable ( iPA ) to a set of users over email to install

I recently finished an application in Unity for a client who runs a sporting event and wanted the app to let the referees keep a more accurate log of the statistics of each game. When building for android, i get a single file that i can send to my device and install it/run it. The part that i have some questions is re-building that same project for IOS.
I know i MUST have xcode which means i MUST have a mac OS, but here are a few questions that i am unaware of.
1) With the most recent release of xcode, developers dont need the $99 apple developers kit to produce something and test it on their device. From what i learned, is it true that you need to verify each device you send the application to in order to test it?
2) Is there a way to compile the IOS application in a way that i can get a single file, or even a folder, and send it via email to my client, at which point they can download the file to their phone and have the application installed?
3) What is the easiest route i can take in order to get my application into ~30 peoples iphones without individually signing each phone to my application?
Thankyou for your help!
You will have to remove this question as what i understand this is a programming site, Please find the answer for reference below as per your question order.
with xCode 7.0 you can do this, we dont need any licenses and its free for any number of devices to test , refer :- link
Yes you can generate a executable which is termed as iPA , but if you want anyone else to install the iPA, either you will have to generate this using a enterprise profile, or you wil have to add you client device id while generating the profile on apple developer protal :- refer :- link
post which they can install the iPA using itunes
This is not possible as per my knowledge, as Apple has strict poilicies as you cant distribute witout their knowledge. that is the reason of having the apple developer account at first place.
Hope the following helps:
1) For testing on your local device XCode should set up proper provisioning files for the development builds of your app automatically once you purchase a developer license.
2) I build Enterprise Ad Hoc applications for a large publicly traded client and I'm able to send the compiled .IPA file to the client and have him test it by installing it via iTunes after I've signed it with a production certificate through XCode. He tests the app using that method before using a third party vendor to distribute the app on their corporately owned iPhones. The same should work if you sign your application with a production cert, although the aforementioned may be limited to the enterprise account's certificate.
3) If you're trying to remotely install a development version of the app on a test phone you will need to verify the phone via UDID in the Apple Developer center for AdHoc distribution, or use the TestFlight method. You can read more about how to do both of these methods here.
Hope this answer will help you out & good luck!
I think for that what you want you need a Paid Apple Developer because it is not possible (without Jailbreak) to install Apps which are not from the AppStore in iOS. So you have to "test" the App on each iPhone you want the App to run on, or you have to publish it to the AppStore, where you can set, that only specific Apple-IDs may download your app.
Thanks luca4499 and Max. I guess the $99 apple dev kit is the way i'm going to have to go then.
To clarify to other users interested in the same questions.
You can develop for multiple people without using the dev kit as long as your list of people isnt changing often, or you are ok with adding each device separately.
If you want to distribute your application, the easiest way is to get the apple dev kit.

How to create an IOS app that could install without the Apple Store?

I find out some app on internet that it installed my phone not through Apple Store. When i clicked "Download App" on the website, it will install automatically on the phone. I wonder why this way is available with Apple Security.
Please, give me a reason. ^_^
Read this article:
http://mobiledan.net/2012/03/02/5-options-for-distributing-ios-apps-to-a-limited-audience-legally/
You can do what you want with iOS Developer Enterprise Program -- In-house app distributing.
Compile your Application with Enterprise Account -> Upload on third party site like http://www.diawi.com & share generated link with others
If you don't know about build types then let me tell you there are 3 types of iOS ipa files that can run on iPhone
1-Developer Mode
2-AdHoc Distribution
3-App Store Submission
Developer Mode: it will only run on debugging device
AdHoc : two types of this build
i) Simple account:
for this build you have to add your mobile Udid into the provisioning profile it will only run on that device whose udid is included in the profile.
ii) Premium account:
for this build you don't have to do any thing it will run on every device without adding its udid to provisioning profile.
App Store Submission : for submitting to apple store you have to make this type of build.
//udid means your mobile device id.
Purchase Enterprise account(299 dollars) or simply create ipa and share on TestFlight but you will still need developer account (99 dollars). In developer account you can register only 100 devices so you cant send ipa to many users. In your case Enterprise account is better. It is your choice.
You are correct,
Some apps don't need to go through APP-Store
There is two types of Developer account by Apple,
If you go with "Enterprise Program" (need to pay more), and you have to create Ad-HOC app and upload on 3rd party server, and you can download it from there.

iOS: Releasing app for third party testing

I have developed an iOS app. I want to give it for third party testing. What should i choose scheme when creating build for third party testing, Debug or Release? Third party testing device UDID is included in the provisioning profile.
If I use TestFlight for OTA installation, will the UDID to be included still? (or) TestFlight app doesn't need any UDID included in the build?
Please advise!
Thank you!
(Seems like I can't comment yet). In response to the comments posted to the original question:
TestFlight, part of Burstly, is now Apple propery, as mentioned in this rumor
http://www.macrumors.com/2014/02/21/apple-may-acquire-testflight/
and later confirmed by Apple.
http://recode.net/2014/02/21/apple-confirms-burstly-buy/
As mentioned by someone, Apple uses shuts down their acquisitions and hence it may not be a very good idea to start using it now.
Archive your app, which will be a release build by default as far as I know. Doesn't really matter what the build type is, then in the archive manager click "distribute" and "save for enterprise or ad-hoc deployment", and select a provisioning profile for the app that has your beta tester's device IDs embedded in it, only those devices will be able to run the app.
This will create a file with the profile built in. Users can install it on their phone using three methods:
add it to their iTunes library and sync the phone using USB
use the "iPhone Configuration Utility", which is a free download for windows/mac from Apple's website, and doesn't require iTunes and all the baggage that brings along with it
upload the file to a website and also upload an XML file pointing to the download URL and also a PNG image, display name, and a few other things. Get the iOS device to visit the XML file's URL with itms-services:// as the protocol. Any means to open the URL is fine, email, website link, SMS message, whatever.
Test Flight uses the third approach. But you can easily set it up yourself.
Extensive documentation for all three approaches is available at http://developer.apple.com
Whichever method you use you'll need to build the app with a provisioning profile that includes your tester's device UDID.
I suggest using a Release build, so they are actually going to be testing the same version you are planning on releasing.

Resources