Is it possible to have multiple builds of the same application on TestFlight? - ios

Is it possible to have multiple builds of the same application available on test flight, so that different user can download only builds for which they have been invited?
Also, right now, only build is what should be changed. If this is not possible, is there some way to accomplish this with a different setup ? (some setting in iTunesConnect or to setup an app differently)?

No you can't do it, but you have another way,
"Best way to distribute ipa to client is to upload ipa & provisioning profile to www.diawi.com and generate link. You have to send this link to client and client can install ipa in his device by opening generated link in his device's safari and then by clicking install application. Note that provisioning profile must include client's device UDID."
answer

Related

Run ipa on device without cable and not with TestFlight?

Is it possible to distribute IPA to device without TestFlight, and not via cable? I have a new MacBook Pro with usb-c and an iPhone. Hard to get company set up TestFlight. Any idea how to test on device?
Yes. Ad-Hoc OTA is the way to go.
On developer.apple.com:
navigate to your account & login
click Certificates, IDs & Profiles in the side menu on the left
on the left, find Devices & click +
register multiple devices by uploading a spreadsheet including the UDIDs and names of the devices
follow the steps to finalize the registration process
You might need to wait 24 hours; I found, it sometimes takes really long for the changes to take effect.
Inside Xcode:
prep: open Xcode settings, accounts, your account and then re-download all the profiles and certificates
archive the product
open the Organizer window and find the archive you've just created
click Distribute App
choose Ad-Hoc
make sure to have include manifest for OTA installation enabled
follow the steps
finally, click export and choose a location to save the files
Upload all the files (icons, .plist & .ipa) to your server. Note that the server needs to be https, this is mandatory. If your's isn't, upload it to Dropbox or some other cloud service. If you're using Dropbox, make sure to replace www.dropbox.com with dl.dropboxusercontent.com.
Manifest
open the manifest.plist file and insert all the new urls
again, for dropbox: replace www.dropbox.com with dl.dropboxusercontent.com
upload the manifest plist to a secure server.
Link:
itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/YourURLHere/manifest.plist
You can try Diawi for Development & In-house Apps Wireless Installations
It will require the target devices to be registered into the signed provisioning profile that will be distributed with
For me Fabric is an excellent tool. You can check it out here. I often distribute ad-hoc builds using this. It simply sends the app install link in an email and you can open the email from your iOS device and install the build right away.

How to distribute and install on test devices an iOS app under development?

I am new to iOS app development. I have a standard Apple iOS developer license. When I build my app it creates an ipa file. If I send this file to someone, will they be able to install it? Or does that require an enterprise license?
You can share an ipa archive with testers/friends using Ad Hoc Distribution. You do not need an enterprise license to do it, team or individual is enough. You will need to register a device's ID in the Member Center and to generate an Ad Hoc provisioning profile with this ID:
Using this method, testers don’t need to be team members or iTunes
Connect users to run the app, but their devices need to be registered
in Member Center. You can register up to 100 devices per year that
your team can use for development and testing. Therefore, choose this
method if you can use a portion of these devices for testing and can
collect device IDs from testers. Also choose this method if you’re not
ready to create an app record in iTunes Connect. You don’t need to
validate or upload your app to iTunes Connect to distribute it using
an ad hoc provisioning profile.
As you have standard development licence, it's enough for distribution under 100 devices, and after one year, you can also remove previously registered devices from your member centre.
But as the answer above described, it should be ad hoc distribution only you can use any except Apple Store distribution, so the easiest way to do that is to just create a development provision with as many selected device as you want to distribute. After that, you just need to install a particular provision in your Mac by just clicking over it and then select the provision in your project.
Now compile your project.
After successful compilation, go to product folder, select the app, and reveal it in folder.
Copy the app file from this folder.
Just create one folder on your desktop and name it Payload.
Paste the app file you just copied inside the folder.
Place one image again on your desktop and name that iTunesArtwork but without extension.
Now select the payload folder and iTunesArtwork file together and compress it.
After compressing it, create archive.zip and rename it to may.ipa.
Now it will ask if you are sure you want to rename it. Press yes.
Now you have ipa read within few steps and you can use this payload and iTunesArtwork for making another .ipa or for any other project. Just leave this both folder and the file on your desktop. It will always help you.
Now go to http://diawi.com and upload your ipa file here which you just renamed, and then when it's done with uploading, press the send button. It will give you a URL. Share it with your testers or friends. They can directly download it in their device. No need to send ipa, and in this process, no one can use re-engineering in your .ipa. It's safe and secure.

How to build an iOS binary without setting an Apple Developer account and team?

I'm using Xcode 6.3.2, and I'd like to let another people to build and create the .ipa files of my projects, but I don't want neither to expose my Apple Developer account information, nor create users for them in my team... is that possible? Either by using Xcode, either by commands line.
Thanks in advance
EDIT: The goal is to prevent those external people from being able to submit apps to the App Store by means of my Apple Developer account and from being able to see the other apps managed in the account.
EDIT2: Does providing the distribution certificate to external people make possible to them to submit binaries to the App Store?
After reading your edits, I think I understand more clearly what you are trying to do. Basically, you will simply need to provide the other members of your team with the following:
The private key used to generate your app store distribution
certificate.
The distribution certificate
The app store distribution
provisioning profile
This will allow those team members to work on, and build the app for the app store. Without your Apple developer ID password, they will not be able to log into iTunes Connect to see the other apps you have. While they will be able to build the app for app store distribution, you (as the only one with the apple ID password) will have to be the one to submit the compiled app to the store.
So basically, your development team will create the apps. When you're ready for release, they can do an "Archive" in Xcode to create the .app that has been signed for the app store (using the provisioning profile and signing identity that you provided them in the three files I mention above. They will zip up the .app and the .dSym files into a .zip and send it to you. You will then log into iTunes Connect and set upt the app to be ready for the new binary, and then use the Application loader to upload the .zip to apple for review. Once you have gotten a successful review, you will again log into iTunes Connect to release the app. So at no point will the developers have access to submit apps or see other apps you have in the store.
Also, the development team will not need the provisioning profile, cert, and key until they need to build for the app store. During the development phase, there is no problem with them using their own developer accounts to build and test the app.
One additional thing to note is that Apple is changing the roles that are available in iTunes connect. You may want to review those new roles to see if some combination of those roles my work for your team setup.
From http://9to5mac.com/2015/06/12/wwdc-itunes-connect-testflight-limits-account-switching/
After several apps are added to an account by its admin, developers
can now assign user roles to individuals on their team— app manager,
developer, or marketer— with each allowing varying access to iTunes
Connect features. App managers, for example, will be able to create
users, assign user roles, change pricing, and submit apps for review.
Marketers will get access to updating store metadata, uploading promo
material, and requesting promo codes. Users assigned the developer
role will be able to upload binaries, and view crash logs and store
metadata.
Apple recently introduced Free-provisional-profile and/or free-developer-certificate support.
But it's limited (see below note).
To utilise that follow below steps suggested by Apple,
In Xcode, add your Apple ID to Accounts preferences, described in Adding Your Apple ID Account in Xcode.
In the project navigator, select the project and your target to
display the project editor.
Click General and choose your name fromthe Team pop-up menu.
Connect the device to your Mac and choose your device from the Scheme toolbar menu.
Below the Team pop-up menu, click Fix Issue.
Xcode creates a free provisioning profile for you and the warning text under the Team pop-up menu disappears.
Click the Run button.
Note that said support is limited, for example, the capability to sell things with "Apple Pay" would not even build with a free-certificate.
Yes, there are several ways to solve your problem.
You can create .ipa file with you provisioning profile and give them the file, they can you use application called "Application Loader", they can use this application to upload the .ipa, this should resign your application with their provisioning profile. I did not try this but it should work.
When you create an archive of you application, it will be listed in "Organizer", go to that location, and give them that .app file alone. Then they can use any third party application(can be downloaded from Mac Appstore) to resign the application with their profile. In this case, you are completely hiding your information. They can even change the application icon, default image.. etc during the resigning process.
When you build your application in release mode an .app file is created, this is unsigned binary. You can search for .app file in your Xcode project itself. Just find the location, and give them that .app file alone. Then they can use any third party application(can be downloaded from Mac Appstore) to resign the application with their profile. In this case, you are completely hiding your information. They can even change the application icon, default image.. etc during the resigning process.
Hope this helps.
No, There is no way to compile a .ipa without a provisioning profile (device compile, not simulator compile). To do this, you would go XCode->{AppTarget}->Build Settings->Code Signing->Code Signing Identity, and set 'Don't code sign".
Trying to compile afterwards will fail with
CodeSign error: Code signing is required for product type
'Application' in SDK...
EDIT: The goal is to prevent those external people from being able to
submit apps to the App Store by means of my Apple Developer account
and from being able to see the other apps managed in the account.
You have two options:
Send them your Source code + XCode Project, and not the library.
Compile the code using "iOS Developer" Code Signing identity, and not "iOS Distribution" identity.
Anything signed with iOS Developer can never be sent to the AppStore.
Anything signed with iOS Distribution can never be run on a device
unless it is downloaded from the AppStore.
They can never see what you have for sale, nor publish anything unless they have your AppleID username and password

iOS app Certificaction and ad hoc testing

I work for a company developing their iPad app. None in the company is a technological geek to handle Xcode app deployment themselves. So for now, we do this:
I develop the app.
Create an ad hoc testing version and share the .ipa file with them.
They test and then I make a distribution version for further release.
What I want to establish as a permanent solution is
I develop and share the Xcode archive
They make all different versions for testing and release.
However I have been largely unsuccessful in doing so: for creating the archive, I have to sign/certify with my development profile. They could deploy it further from Xcode archive to an .ipa file, using their distribution certificate. However, they can not install it on their devices. I believe mainly because the development version requires my certificate/profile to be enabled on their devices :(.
Is there a way out? I need to provide them an archive which they could further sign and do whatever they want to do (either test on whatever devices they want to or release).
Thanks,
Nikhil
If you don't want to manage the device identifiers where you are deploying the device, you could use:
1) TestFlightApp.com (although I don't know what the current status of their offerings are -- since they've been acquired by Apple -- but they still have a "Sign Up" link on the top of their home page).
or
2) Apple's Enterprise Developer Program, which allows you to "Distribute In-house Apps".
You can sign application using their distribution certificate.
To do so c'est have to send you a p12 export of the certificate, the p12 contains the private key of the one creating the certificate and the certificate.
To export a certificate :
Go to the keychain access
Right click on the certificate
click export

Test iOS on real device

I am already testing my iOS app on my iPhone and it works great. My client wants to test my app on his own device but the problem is that he is a resident of different country. Can I send him something like we have "apk" in Android?
Yes, this is possible using the "Ad-hoc".Steps:
Add Your partner's device to the iOS provisioning portal at developer.apple.com
Generate a provisioning profile that includes it for your app.
Build the app using this profile.
Generate an .IPA file using Product->Archive
Send it to your partner that .IPA file.
Many more details available in Apple's guides under "Ad-Hoc" testing.
This is also a good option. testflightapp.com
Yes, you can send him IPA file.
See here:creating ipa for distribution to client
OR
you can refer to this link: How to make .ipa file in Xcode 4.5?
I'd look into services such as TestFlight to make the process of publishing and installing the app on your client's machine. Get your ad hoc provisional profile and archive your build. TestFlight will upload it to their servers and email your client that the build is ready. From there the installation is a snap.
Just send an .IPA File to him he cant see the code using that

Resources