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

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

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 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.

Enterprise Distribution Profile Update Without App Update

According to this link in the section "In-house apps | Providing updated apps", I should be able to just distribute a new .mobileprovision file instead of forcing users to install a new version of the app:
For users who already have the app, you may want to time your next
released version so that it includes the new provisioning profile. If
not, you can distribute just the new .mobileprovision file so users
won’t have to install the app again. The new provisioning profile will
override the one that’s already in the app archive.
How is that even possible? Isn't the distribution profile necessary for compiling/singing the app? I would like the convenience of just being able to distribute a new certificate, but I'm very skeptical this can even work. Does anyone know for sure? Or am I mis-interpreting this wording? If not, how can I make this work?
Apple said Provisioning profiles can be installed and managed using MDM, downloaded and installed by users from a secure website that you provide, or distributed to users as an email attachment to open and install.
So you can distribute only mobile provision profile and test the things.
One thing I observed that In case of Enterprise Distribution profile Device udid does not need to add in portal. The ipa file will install across all devices. It happens in case of Enterprise developer profile cases.
For Managing Updates Apple has said that:

"In-house apps that are distributed internally aren’t automatically updated. You’ll need to notify employees of the update and instruct them to install the app. If the application identifier assigned to the app in Xcode is unaltered, it will recognize the app as an existing app and install the update while retaining locally stored app data or preferences. For greater convenience, consider developing a function within the app that contacts the server for updates at runtime."
So I am guessing to send the users a push notification which would notify them about the update and ask them to install, once the click ok you can redirect them to your server where the app is hosted and they can install from there

Confusion over Validation and Ad-Hoc Distribution of iOS app

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.

Distribute iPhone app to testers?

I am working on my iphone app and now I want to send my app to my testers. But how should I send it to them ? Plus, they don't have an Xcode. Is it necessary?
Take a look at Test Flight. We are currently using it and it offers a lot of great tools and is very easy to set up.
testflightapp.com
It distributes it adhoc and then you can push it directly to the testers and allows you to see install statuses. Time spent and other analytic tools.
To answer your other questions. The don't need Xcode. They just need to have their UDID registered on your apple account. They will get sent an email that will ask to download the latest release. The app then installs over the air.
Since iOS 4.0, users have been able to install Ad-Hoc apps over the air. Please note you're required to get the testers' device UDIDs and add them to your device list on developer.apple.com and to the app's the provisioning profile.
You can host the IPA yourself, but I would recommend using TestFlightApp.com.
Macworld wrote a decent article about the gist of it, and TestFlight is fairly straightforward to use, especially since it allows you to send an email or link to your testers and collect the needed UDID from them.
Try diawi.
I find it very simple and very friendly to use. Also there is no wait in the queue type registration stuff. When you open it just drag and drop the .ipa file and the provisioning profile. To verify whether or not your app has been installed, just add your email id in the field mentioned and you will get a confirmatory email about your app installation. For installation at the tester's end they simply need Safari to install the app and the profile.
Below are the steps to create .ipa file (xcode 4.2)
Select iOS Device>Go to Product>Archive>Share>Choose iOS App Store Package (.ipa)>Provide a path to save.
Easily done!!!
From 26 feb 15 Testflight is closed their service...
I have used new link for creating installation link of ipa and distribute link to your client, tester etc.
open this link
http://www.diawi.com/index.php
upload provisioning profile(drag and drop) to their dashboard.
upload ipa(drag and drop) to their dashboard.
click on send button.
after that copy generated link and share to your client and tester.
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. This blog post show you how to set up a beta test with internal testers,
http://blog.thebetafamily.com/2014/09/10/testflight-beta-testing-ios-8/

Resources