Confusion over Validation and Ad-Hoc Distribution of iOS app - ios

I have created my first iOS app for the iPhone, as part of my MSc project
I don't want to upload it to the App Store but rather convert it into a file that the examiners can use to check my app on their own devices.
Therefore I need to save my app for Ad-Hoc deployment
I created an archive of my Xcode project and then followed these steps suggested by Apple
A myProject.ipa file was created on my Hard Drive. Is this enough ?
Is this all I need to send the examiner so that they can install the app in their own iPhone?
because,
I noticed there was also a button called Validate on top of the Distribute button (I only pressed that to create the .ipa file) in the Archive Organizer
So I went back to the Archive Organizer, chose my archive once again and clicked on Validate and I got :
No Application Records were found
Applications must be ready for upload on iTunes Connect before they
can be validated or submitted from within Xcode.
I went to my iTunes Connect account and it is obviously empty, i.e. I haven't submitted any apps to the AppStore.But I want to validate my app nonetheless, before sending it to the examiner to see if it meets all requirements (even if it is now working fine on my own device - just to be sure).
So what does the above message mean? Do I necessarily have to sumbit my app to iTunes connect (i.e. the AppStore) in order for it to be validated?
And also, should an app first be validated in order to run on other devices as part of an Ad-Hoc distribution?
Thanks in advance for your help!

Validation is only for when you are submitting your app to the App Store. The reason you are getting the "No Application Records were found" message is because for submitting to the App Store, you actually have to create an App Submission in iTunes Connect first and get all of the metadata entered.
XCode queries for that record so that it can associate the project you are building.
For Ad-Hoc distribution, you need to make sure that the examiners devices are added in the distribution profile that you used when creating the archive. You can then just give them the .ipa and they can install via iTunes.

Related

Users are not able to download app via firebase App Distribution – flutter

I'm starting to distribute my app to some testers via Firebase Distribution (IOS)
What I did: opened project in Xcode -> archive -> distribute app -> Ad Hoc -> .ipa file
dragged .ipa file to the informed place.
First, I added my email, followed the steps and was able to download the app.
But, now I'm not being able. When the users accepts the invite and download the profile in "general", the app download isn't available. They get the message:
Registered device! The developer now needs to update their app to run on the device. You will receive an email when the app is available for testing.
The, I get an email with a UDID from each user.
I don't have any idea what to do.
Did I do something wrong? its it possible to the user automatically have the app available for download?
You did nothing wrong, this is how Firebase works. As long as you're on iOS, it is not possible to have the app automatically available. (If it were possible, you could use Firebase instead of the App Store, and Apple wants to avoid that).
You need to do the following:
Go to Apple's developer site and add the device(s) to your test devices list. It should be here: https://developer.apple.com/account/resources/devices/list and you'll need to sign it with your Apple ID. If you are part of multiple developer teams, make sure you select the right one in the top right of the screen.
Add those new device(s) to the Ad Hoc profile that you are using for building this device. If you check the list here https://developer.apple.com/account/resources/profiles/list there should be a profile with the ID of your app
Build the app again with your updated profile. How you do this will depend on your build process
Upload the new build to firebase. (It is possible to do this automatically if you are using a tool like Fastlane). Make sure your tester has access to the new build: this can be done in the Firebase UI by adding testers or groups to the build. (It can also be done automatically if you are uploading automatically)
Your tester should receive an email about the new build. When they check the App Distribution app that they have installed, they will see a list of versions with the newest one available to download

Getting IOS app in test flight

guys, we outsourced our mobile app development and the company is just giving me an IPA file that I have to re-sign then upload it to iTunes connect. Now I only want to see this app in test flight I watched a youtube video thought it would be straightforward so I created a production certificate after I did my app id then I created a distribution provisioning profile and selected app store as my distribution. I used to design in order to change everything I found this tutorial here but when I use application loader and submit the app into iTunes connect I have a choice to use that build to send for review in the app store but I cannot choose this build in a test flight. Here are some pics where it shows my build in the activity but I can't select this build in a test flight. I am a noob when it comes to this so any help would be great. Also every time I upload this I have to ask them to change the build string and re-send back to me which is getting annoying
Two type of testers in TestFlight
iTunes connect the user
In this case, you have seen when you have submitted build after processing completes, you have asked to complete compliance ( Wheather this app contains encryption or not etc ). Once it is done it available to testers immediately.
Non-iTunes connect user
In this case you have to select testers group and select build tab. after this select "+" option
After this, you will be shown a dialog to select build and proceed with the submission process.
You should be at least "App Manager" for this app.
Hope this will help you.

How to publish apps to Apple app store?

I am a beginner in developing iOS apps. I am currently building one simple app for personal organization use and I want to publish the app. But all tutorials did not lead me to be able to publish the apps.
For example, image number did not show the "View details" (as the most tutorial showing that "view details".
And for image number 2, after I log into app developer account, I cannot see the certificate, etc. option (as most tutorial shown).
I just build the app using simulator since I don't have iPhone/iPad device. I got error
failed to create provisioning profile.
Is that possible to publish the apps without running it on the real device first?
Have you created and downloaded a provisioning profile on your developer account? Have you created a cert that allows you to do that ^ ? Have you registered your device on itunes connect so you can build on device? These are all things you have to do. After you do these things, you have to select Product > Archive for Generic iOS Devices. After it's done archiving, you can upload to the iTunes Store. Make sure your version number matches the app that you create on iTunesConnect. Build Numbers must also increase or the app store will reject your build.

Uploading app to testflight

So I've been trying to upload my app to test flight following this guide:
http://www.youtube.com/watch?v=3iIr2uN5Yj8
I've created AppID, using Bundle Identifier from my App. I can see it in my App IDs.
I've created a provisioning profile for iOS Distribution. If I check in Xcode->preferences->accounts->my account I can see that new profile there.
I've added new iOS app in iTunes Connect. I used my AppID I've created before as my Bundle ID. As for version, I just put 1.0 there just as it says in my app (Version: 1.0 Build: 1)
Used some random SKU.
In Xcode I archived my App but there was no button to submit it to TestFlight. I could only export the .ipa file, validate it, upload to App Store or Download dSYMs (if I click that one it would say that "an app record for "appID" was found but a matching version for 1.0 build 1 was not.
So what have I done wrong here? Is it the version? Should I've put there not just 1.0 but 1.0 (1) instead?
Update:
Could the reason be that I didn't activate TestFlight Beta?
Thanks.
You need to choose Upload to App Store option in Archive. As all the applications are by default uploaded to TestFlight, then while you are submitting it for iTunes you need to select which build you want to publish or put in review.
Once your app is successfully uploaded it will appear in prerelease section. Initially it will show Uploaded state, then after some time it will turn to Processing at last you will be able to open it for your Internal users.
For more details you can always refer Apple documentation.
.
Select upload to App Store.
Go to iTunes connect -> Prerelease and select TestFlight Beta Testing

Validating Xcode archive without being the final deployer

We are developing an iOS application for a customer who manages his apps under his own name in iTunes Connect.
I was wondering if there was a feasible way to validate an ipa when you are not the final instance which will actually upload the bundle to the App Store. A common scenario is that you deploy an application bundle to a customer so that he will be the one who manages the app in iTunes Connect, but you still want to make sure that everything checks out once the app is in your customers hands.
To be clear: we don't have access to our customers iTunes Connect but we archive the application with their distribution profile.
The idea which came to mind is to create a mock application in our own iTunes Connect without the intention to actually release the application. One could expand on this and actually do a pre-review of the app to make sure the app will not cause unpleasant surprises after we sent the archive to or customer. Will Apple throw any rocks in this path? I could imagine that they won't be happy that developers will let review the same app version twice...
You ask about whether the final Xcode archive could be tested. Yes, it can be tested. You should ask your customer to send you a copy of the submitted application, as it appears in the Xcode organizer). They would have to resign the bundle with THEIR AdHoc profile that should contain YOUR device, and send the IPA to you. You would then be able to check the final submitted app.
For the second part of your question, which is most interesting: It would be great to release the app in your account and then let the customer release it again. There are two problems: if the reviewer is the same, then your customer's app may be rejected. And: if the reviewer is not the same, it could pass validation with the first reviewer and fail with the second one.

Resources