I took over an existing iOS project from another company. My client can't give me access to his iTunes Connect because he updates app with Application Loader. I don't have access to provisioning profiles from previous developer.
So, I need to know which parts of my application must be similar to existing app, which I want to update. And what if I want update iOS version from 5 to 6?
Related
I recently uploaded a new version of my app to the app store - its live now. However in my Xcode project I forgot to add my Associated Domains in my entitlements to enable Universal Links. I have now added it to my project, but does this mean I also have to upload a new version of my app to the app store? Is there any other method I can use to update the related associated domains on my existing live app?
I suspect I have to upload a new version of my app.
I build some iOS app for other people. With android it's quite simple, I gave the .aab to the guy and they add themself this .aab in the play store. However, I think, I can't do the same for iOS or I m mistaken?
Is there a way to compile the app on my computer and gave my client a binary so he can publish it under his account? I m under Delphi if it's matter.
What worry me a lot is that I need to compile a dozen of a white-labeled app every time I Update the main core app and I want to automatize the process. How can I do this ?
An iOS app is compiled to an .ipa file, which can be deployed to a device or uploaded to the App Store.
However, iOS apps have many requirements beyond just deploying the binary.
Each customer will have to obtain a Developer Certificate that identifies them with the app(s) you develop on their behalf. They will have to provide those certificates to you.
In order for each customer to then install/upload your app binary(s) on their own accord, they will have to register App IDs with Apple, and give you those IDs so you can configure it into your projects as needed.
Each customer will also have to provision those IDs according to how they will be installed (Ad-Hoc vs App Store), and give you the provisioning profiles so you can configure them into your projects as well.
This is all covered in Embarcadero's documentation:
iOS Mobile Application Development
Acquiring an iOS Developer Certificate
Provisioning an iOS Application
Creating an App ID for Your Application
Creating and Installing Your Provisioning Profiles
Configuring Your Provisioning Profiles on RAD Studio
Deploying Your Final iOS Application
Deploying Your iOS Application for Ad-hoc Distribution
Deploying Your iOS Application for Submission to the App Store
I have two apps on Appstore Connect with different app identifiers. One is in the app store while the other is on TestFlight. Is it possible to replace the live app with the one on TestFlight?
Locally these apps are built off the same bundle ID and the app identifier is changed when pushed through Fastlane. They share a signing certificate as well. If I want to replace the live app, do I just need to change the app id for my new app to match the live app?
Yes you need to change the app id and then compile the application that you would like to submit.
Off-course it will replace the old binary of the application. So the code and the UI would be updated accordingly.
We are going to submit a prerelease version of an app to external users, but I wonder: what will their experience be?
The user had a production App Store version of the app on the device, and now installs a new beta via TestFlight. Will this be in-place update, with the data preserved, or a completely new install with data wiped, or will TestFlight's version be installed next to production - so that the user has the app twice?
Testing is over, and the production-ready version is submitted to the App Store. Will the tester be able to update to the new App Store version seamlessly (in-place), with the beta version's data preserved? Or is it a complete wipe? Or will beta stay on his device and he has to download a new full version from scratch?
By the way, I have submitted another question regarding version numbering beta vs. production.
According to https://developer.apple.com/testflight/
Once you accept your invitation, you’ll be able to download a
beta version of the app you’ve been invited to test. If you already
have the live app installed on your device, the beta version of the
app will replace the live version. When you’ve downloaded the beta
app, you’ll see an orange dot next to its name that identifies it as a
beta. TestFlight will notify you each time a new build is available
and provide instructions on where to focus. You can easily offer
feedback by tapping the Provide Feedback button in the App Details
view in TestFlight. An email automatically opens with pertinent app
and device details, and you can add additional details and
screenshots.
It's said that the beta version of the app will replace the live version. The reason is the beta app has exactly the same bundle identifier with the one on the App Store.
After installing the beta app, the user will still see the updates from the App Store as the live version has been installed (without losing any data) because the beta app is deployed using exactly the same certificate.
I think the things changed a while ago.
Even if you have a beta (which is signed with production certificate - remember, no AdHoc needed), the TestFlight version will function as an update for the existing app. I tested those things and can confirm no NSUser defined entities were overwritten or deleted by the TestFlight build.
For the second part: the user can preserve saved data if the application is not a major build (I mean, you cannot expect a database stored in some format to work with another new model of your app version). To be sure your app does not clear or attempt to modify previous content, put a version check on the new one. If there are data found, update to the new schema. I think this is the way to go. Anyway, you cannot have duplicated versions of the app because they are signed by the same profile.
I've just created my first IPA file and I'm ready to send it to Beta testers. I'm going to send them an email with the file and the instructions I found in:
Now, my question is, after making some change to the app and changing the version in Generalsettings of project, I need to create a new archive and new ipafile?
Do I need to send the new ipato testers over email again? Do they need to connect their devices to iTunesin order to update to the newer version?
I know of some tools like TestFlight, I just want to make sure if I need them or if I can manage to do this without these third party tools. I would like to know if it is possible for testers to update to newer versions without needing to connect device to computer.
You'll need to resend them the app and they'll need to install it using iTunes or iPhone configuration utility.
Unless you turn it into an Enterprise app (temporarily) in which case it can be downloaded from a web server etc.
TestFlight is pretty good and you could consider it as its quick and easy to start using, however they got acquired by Apple last week and its not currently possible to download their SDK.
As far as I know you can't notify your beta testers about update without 3rd party tools. You have to build/archive new version each time and broadcast it (via email) to your testers. Testers can update your application by connecting their device to computer (iTunes) and transferring new version of application to iTunes (they can just Ctrl+Drag .ipa file to iTunes). After this step, the application can be found in iTunes library. Testers should drag new version of your app in "iDevice library" so that it will appear in the list of (new) applications to install or applications to update. After that there will be an Update button to update your application to new version directly from iTunes.