Due to some unique quality and regulatory requirements in our organisation, we need to be able to download a .ipa build from App Store Connect, in order to be able to compare it against a locally built binary. I appreciate this is an unusual requirement, but it is non-negotiable.
Clearly there is no way to do this via the App Store Connect web interface, so I've been looking at the App Store Connect API. However it is ambiguous from the documentation, whether it is possible to use this to download an .ipa build.
Does anyone know if this is possible, and how one might go about doing it if so please?
Apple does not provide any way of retrieving an upload app/IPA. It's neither possible through App Store Connect nor the App Store Connect API.
You can only check entitlements and additional build information in the App Store Connect interface. For that go to App Store Connect > My Apps > Activity > All Builds > Click on the build
(Fastlane does also not provide any way, because Apple does not expose the data. It uses the "web API", i.e. has access to more information than the "standard" App Store Connect API)
We can download IPA file with the help of Apple Configurator. Follow below steps to download IPA file.
Download Apple Configurator 2 app on your MAC.
Connect your iPhone with MAC and Apple ID should be same in apple Configurator and iPhone.
New window will display with app count badge in All Devices Tab.
Right click on your connected device in Apple Configurator and select Add and then Apps.
Process will complete and Popup will show with options, no need to click any option and go to this path
~/Library/Group Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps/
Save IPA file in your directory
-Now stop Apple Configurator
EDIT: I know this question is aimed at Downloading Appstore/Testflight builds, specifically, but wanted to provide this answer for others who find your question while looking for it from anywhere.
You can download iOS .ipa from Firebase distribution, as well as for Android .apks. But you do need to have the right permissions.
I just did it 5 minutes ago. See ☝️?
Go into App Distribution > find your app scheme/variant > expand build number > see if you have a Download button. If you don't, your company needs to bump your permissions up a bit higher.
Keep in mind that firebase apps can experience limitations when interacting with Apple SDK features, though, like SIWA. You'd need to use Testflight to test things like that if they don't work for you (we have decent devs and never could get it working on Firebase builds).
If the file gets deleted before you can copy it, you can use this command:
watch -n 0.1 find "~/Library/Group\ Containers/K36BKF7T3D.group.com.apple.configurator" -iname "*.ipa" -exec 'cp -r {} ~/Downloads \;'
When it's downloaded it will copy it to the Downloads folder. You're welcome.
Part of the credits to my colleague Daniël.
Related
While uploading app on Google playstore, we are getting below error.
You need to use a different package name because [pkg_name] is used by
a pre-installed application. To upload a pre-installed application,
please contact Google Play Developer Support.
I am sure that mentioned pkg name is unique, however we have pre-installed this app in some of devices. Now how to upload it to Play console ?
I got this solved by using contact support team of Google, They then contacted carrier/preload team to allow package.
Sometimes if you preload app first and then publish app on Playstore, Google play will block the package and confirm your identity from pre-load team before allowing you to publish.
So it is advised to put package in store first & then pre-load to avoid such long process. (You can limit discovery via multiple ways).
Source - https://medium.com/#shashank.mishra_62841/complete-guide-in-app-update-for-android-apps-google-playstore-1b8f2946fa7a
We have created an app project with Expo.io where we need to build the IPA as an ad-hoc build since its going to be resigned and added to both an enterprise self-owned store as well as the Apple App Store.
I do not have access to the Apple Developer account which has the certificates for signing it correctly, so I need to create an IPA file - from my own account - with an ad-hoc mobile provisioning
At the time of writing it is not possible to add an ad-hoc mobileprovision file for Expo to be used for building.
I need to figure out a workaround to make a build of our app as an ad-hoc IPA and sent it to the person who has access to the correct Apple Developer account.
I can see there is a detach possibility in Expo, but I'm unsure if this will make me able to make a correct ad-hoc build. My initial attempt could not be installed on my own phone, even though my UDID is within the ad-hoc mobile provisioning file.
My intention is to be able to test the IPA first through systems like Diawi.
I am testing WSO2-Emm system for managing our android mobile app. We have an app for taxi drivers. We deploy it using our tablets and a single gmail account. Our problem is that google allows up to 10 signed in devices for a single google account.
I have tried to load the apk to the WSO2 store. The problem is that when I want to upload a new version of the same app I get a warning message saying that this APK already exists in the store. When I try to rename it and add it as a new apk it works. The problem is that when I go to App-Management, the application appears under 'installed'. The Emm system doesn't detect there is a new version.
To be more specific, my question is is there a way to manage mobile application versions using the WSO2 store and not the google play store.
If there is a way we can go on with this system. If not, we will stop testing it.
The only way I've figured out how update an already installed app is by going to the App Management tab, selecting your latest version of the app in question, and hitting the install button under the Roles tab (NOT the Users tab). It will send the install command to any devices listed under roles you have checked, even if they already have the app installed. Keep in mind this will install the app on all the devices, even devices that already have the version you're trying to put out.
It looks like you already know about the patch on EMM-686 that must be implemented in order to upload multiple versions of the same app to the Publisher. Just in case you want to confirm it's implemented correctly, see my answer here for instructions on how to implement it.
Thanks,
I want to upload the two copies iPhone application to the app store.
1) One with iwatch extension included.
2) One without iwatch extension.
If I include iwatch extension. I can't keep the deployment target below 8.0.
Is it possible and allowed by apple. can I keep the bundle identifiers same or I should change it?
Do I need to create two App IDs for the app?
Please help me with any other setting to change.
My deployment target without iwatch extension is iOS 7+.
Yes, that should be possible.
Note that you should change the Bundle Identifier as every app needs to have a unique one. I would also recommend to change the name (I believe you have to do that anyways) to show the users which one is w/ and w/o AppleWatch Extension.
Hope that helps :)
The answer is NO. You cannot have the same app in the AppStore that has the same bundle identifier.
Also, is there a real pressing need to have that backward compatibility (apart from wanting to have the greatest number of phones able to download your app)? Because if not, then maybe consider that deployment > 8.0 is enough.
Thanks a lot for suggestions and answers.
We can do it. These are the steps we need to follow.
1) Just we have to create new app id for the iPhone application with watch extension.
In case we are doing it manually.
2)we need to create two more app ids one for watchapp and other for watchkitextension as a target.
for eg. the app id is com.appname
The appid for the watch extension would be com.appname.watchkitextension
The app id for the watch app would be com.appname.watchkitapp
Both will be considered different app ids.
3) We need enable the all the three app ids with same App Group
4) keep deployment target of the watchextension and watchkitapp target as 8.2. And for iPhone companion app we can keep it 8.0
4) Generate the app store distribution provisioning provisioning profiles (can keep same distribution certificate) in case want to upload to the iTunes stores for beta testing or app review.
and We are done. This will successfully archieve the app bundle.
Another way. : Just don't do it manually and let Xcode handle it
Note : While developing app. When we add new target as watchkit. The new Xcode generates the app id for watch kit app and extension.
Just we can use it by refreshing provisioning profile from Xcode -> Preferences -> Accounts. Select Account and refresh. (Note : We need to configure the developer account with Xcode for that).
It will download and install the provisioning profile with Xcode.
And we can directly archieve the app bundle for app store submission by selecting the right provisioning profile
I have a small app I've made that I intend to make available on both iTunes and on Android Market (AM).
I have purchased the developer certifications for both, built my app with the Android SDK and the iOS Xcode SDK. So I think I'm most of the way along.
I'm a little fuzzy on the steps after this, though. When I launch my app, I'd like it to be available on each market on more or less the same time. I'd also like to do a little testing to try and download each app to different people's devices for a beta phase. Also, my understanding is that iTunes requires some sort of approval before it goes live (does Android require the same?).
So, what I'd like to do is be able to put my app on both AM and iTunes, but have it not be publicly available. A sort of private phase, where I can test it, have selected testers download it, make sure it is working fine, and maybe even get Apple (and Android) approval.
Then, when I'm ready to go live, then mark my apps as public.
Is there anything like that on either market? If I upload my app to either market, is it from that moment publicly available?
If there isn't any such "private" phase, what is the usual process for testing the app on different devices before making it available for sale?
The android developer site confirms that you can upload your app without publishing to allow for final testing. See more information here: Publishing on Android Market (under "Configuring options and uploading assets" header). When you actually publish the app it should be up within minutes. See this answer as well Just uploaded Android App: How long before app shows in Android Market search?
Apple has a different approval which can take hours or weeks depending on how lucky you are :) I personally have not submitted an app for approval though so I don't know if there's a way to get approval and then delay the release. I don't have a dev account with Apple so I can't log in to see their app approval guidelines apparently, but maybe this has some useful info: iOS App Store Approval Guidelines