My app won't start on an iOS device (exported .ipa) - ios

I created an app with Swift 5 in Xcode 10 and added the UDIDs of multiple iOS devices to my developer account (got the $99 one).
If I install my app on the device through Xcode, I can start the app, it's got an icon and everything works fine.
I also exported the app as .ipa file:
Pick the "Generic iOS Device" in Xcode (top left)
Create archive (Product - Archive)
Open the list of archives (Window - Organizer)
Highlight on the archive that was just created and click on "Distribute app"
iOS App Store - Next
Export - Next
Both options checked (include bitcode, upload app's symboles) - Next
Automatically manage signing - Next
Enter the password for the Mac Account twice
Click "Export" on the "Review myapp.ipa content" screen
Pick folder to "Export As" and click "Export"
Connect iOS device to Mac/PC -> iTunes opens
Click on the "iPhone" icon next to the dropdown menu (music, movies,...) to see the files on the device
Drag exported .ipa from finder/explorer to the left (as shown here) -> iTunes installs app on iOS device.
The app does show up on the home screen but it's only got a darker version of the default white/grey icon (it uses the actual icon if I install if through Xcode) and if I press on it, the icon "wiggles" once but the app doesn't open. There's no error message or any indication what's wrong.
The app's not in the "currently running apps" list (pressing the home button twice).
I changed the "Build Configuration" (Edit Scheme - Run - Info) from "Debug" to "Release" (suggested here) but that didn't help either.
Did I miss anything while exporting? How do I make the app start?

You can export it for for App Store submission via automation tools - which is often done in a company environment (multiple developers, multiple apps, CI / CD [Continuous integration / Continuous Delivery], etc).
If you're not doing that, you submit the app via Xcode.
Probably worth your time to read through https://help.apple.com/app-store-connect/

The problem was caused by picking "iOS App Store". Instead, as #DonMag pointed out, you have to use "Ad Hoc" if you want to export an .ipa file that you can drag into iTunes and install on your device - as long as you added the device's UDID to your developer account, of course.
Step 1-3 and 5-7 are the same (as in my question) but for step 4 do this instead:
Highlight the archive that was just created and click on "Distribute app"
Ad Hoc - Next
Next (Distribution options)
Next (Re-sign "myApp")
Enter your password twice
Export (Review myApp.ipa content)
Pick folder - Export

Related

How to install an IPA into an iOS device, e.g. for Ad Hoc distribution

I have been trying to install an .ipa file into my physical iOS device using Ad Hoc distribution (without having to upload to App Store or TestFlight) but unfortunately I have been stuck with a few errors, for example: This app could not be installed because its integrity could not be verified.
Took me a while to find this out. There were a lot of references to using iTunes, which is no longer available, and no references to using Finder, or alternatively Apple Configurator 2.
Prerequisites:
Your device is added to your provisioning profile. This is automatically done by Xcode when you select the device and build the app onto the device.
Plug your device in
Archive the application (create the .xcarchive): Select the target device (e.g. arm64/ a physical iPhone 12) and archive the app: Product > Archive
In the Organizers window, click Distribute App, and select Ad Hoc. Continue with the defaults options or customise to your liking. This should create a folder containing a .ipa file.
As of iOS 16, you might need to enable Developer Mode in settings.
Main steps:
As Paulw11 said in the comments, you can do this in Finder. Select the device in Finder and drag the .ipa file onto the device details.
More complicated alternative:
Install Apple Configurator 2. Drag the .ipa file found in the exported directory in finder (exported from Xcode) onto the iOS screen inside the Apple Configurator 2 window, and the iOS app will be installed:
Finally, you should see this step, and the application will be available on your home screen.
Command line: As How to install an ipa/app file into iPhone with command line? states, if you have Apple Configuration 2 installed, you can open it and click "Apple Configurator 2" on Menu Bar, and install Automation tools. Then, cfgutil is available to you,
so you can run: cfgutil install-app ipa-file.ipa

Built a react native app for ios, i cant push to appstore, xcode not showing distribute app options

When i go to window > organizer > Archives and select an archive, instead of "distribute app" i get "distribute content", see capture
Then when i click on distribute content since its the only option available instead of getting export options to app store i get only to options that ask me to export/save an archive to my computer, see capture.
My XCode version is 10.1, also i have done all configurations from setting my apple id, adding keys / certificates, etc.
I am stuck at this stage, Any help will be appreciated.
You need to follow below steps:
1) Make sure that you are a select device as Generic iOS Device on top Left corner
2) Click on Product on top menu
3) Click on Archive
4) After successfully Archive, You will get below window and click on Upload to App Store
5) Select your proper apple account and provisional profile and click on next.
You are done.
You are not archiving the app target. You’re archiving the wrong target.

How do I use Application Loader to submit my app to the app store?

How do I publish my app to the iOS app store using Application Loader? I don't know how to get the file for Application Loader to locate. Please tell me in easy steps. Thanks!
Follow these steps:
In XCode, go to Product > Archive (*)
Click the Distribute App button, then select App Store Connect > Export and remember the export file location
In the menu go to XCode > Open Developer Tool > Application Loader
Follow the steps, indicating the .ipa export file of step 2. That's it!
(*) if the Archive menu option is unavailable change device to "Generic iOS Device" in top left.
Follow This Link
https://developer.apple.com/library/mac/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/SubmittingTheApp.html
Install the certificate and go to projects build setting in Xcode. Find the “Code signing” section and set all items to “iPhone distribution: your company name”. Now choose “Archive” under product menu in Xcode.
Next log into iTunes connect and choose “Add new app” under My Applications. First create a new bundle (make sure that app identifiers match!) and then add the application.
Once you are done adding screenshots and general information, be sure to click “ready to add binary”. That’s all you need to do at iTunes connect.
Go back to xCode and open Organizer (Window – Organizer). Under archives tab you should see the archive for your application. Validate it and select Export to save your archive as .ipa file for App Store.
Next open Application loader (just search for it in spotlight). Choose “Deliver your app”. When prompted choose the previously created ipa file.
Application Loader will not let you log in with your normal icloud password. Remember to generate an app-specific password for you.
Go to: https://appleid.apple.com/
Log in and go to Security.
Press Generate password
Use this password to log in to Application Loader.
https://support.apple.com/en-us/HT204397
No need to use the Application Loader to submit your app to the App Store. In Xcode, make sure you've selected a physical device in the upper left corner, then from the menu, choose Product->Archive. After that's done, assuming no errors have occurred, the Organizer should pop up automatically and in the Archive tab, you can choose to submit your app to the App Store, by choosing Distribute.
Application Loader is no longer packaged with Xcode 11+. For a good automated tool, you can use the built-in command line tool, iTMSTransporter by running xcrun iTMSTransporter. More information here.
With xCode 11 the Application Loader was removed.
https://developer.apple.com/app-store-connect/whats-new/?id=submissionsupdate7-31
I found on an Adobe Forum:
https://community.adobe.com/t5/Animate/Xcode-11-don-t-have-application-loader/td-p/10516050
The suggestion was, use xcrun … on terminal; but it was not working for me :-(
xcrun altool --upload-app -f <file> -t <platform> -u <username> -p <password>
I installed parallel to xCode 11.1 xCode 10.3 and was able to use the old Application Loader
Update 2019-11-27:
Apple rolled-out the application 'Transporter', here the link to the appstore. The app is very similar to the "old" Application Loader and shows in case of errors speaking messages.

Install IPA with iTunes 11

I have an IPA signed for ad-hoc distribution. I can install it fine with Xcode Organizer by dragging it to the device. It also worked with iTunes <=10 by dragging onto the device name.
I'd like to install it via iTunes 11 though. Dragging it onto the device name, or the app section does not work. Any idea how to do it now?
In iTunes 11 you can go to the view menu, and "Show Sidebar", this will give you the sidebar, that you can drag 'n drop to.
You'll drag 'n drop to the open area that will be near the bottom of the sidebar (I'm typically doing this with both an IPA and a provisioning profile). After you do that, there will be an apps menu that appears in the sidebar with your app in it. Click on that, and you'll see your application in the main view. You can then drag your application from there to your device. Below, please find a video (it's private, so you'll need the URL) that outlines the steps visually: http://youtube.com/watch?v=0ACq4CRpEJ8&feature=youtu.be
For iTunes 11:
open your iTunes "Side Bar" by going to View -> Show Side Bar
drag the mobileprovision and ipa files to your iTunes "Apps" under LIBRARY
open you device Apps from DEVICES and click install for the
application and wait for iTunes to sync
I always use the iPhone configuration utility for this. Allows much more control and is faster - you don't have to sync the whole device.
For OS X Yosemite and above, and Xcode 6+
Open Xcode > Window > Devices
Choose your device. You can see the installed application list and add a new one by hitting +
for iTunes 12 and above (Yosemite) double click on IPA then browse your iOS device, on applist you will see the app, click the install on item.
For iTunes 11 and above version:
open your iTunes "Side Bar" by going to View -> Show Side Bar
drag the mobileprovision and ipa files to your iTunes "Apps" under LIBRARY
Then click on your device.
open you device Apps from DEVICES and click install for the application and wait for iTunes to sync
For iTunes 12, drag the .ipa file from the Finder to the Apps area NOT inside your device (in iTunes)... alternately, you can just double click on the .ipa in the Finder.
Important note: you have to change Version and/or Build number. Otherwise, you get no notice from iTunes at all...
Then switch to your device in iTunes, and install or update the application.
Then hit sync.
For osX Mavericks Users you can install the ipa-file with the Apple Configurator. (Instead of the iPhone configuration utility, which crashes on OSX 10.9)

How to Allow a Beta Tester to run my iPad Application without Physical Access to iPad

I'm trying to get my App localized and want to allow someone to run my app so they can see if the localizations are working fine. I do not have physical access to their iPad. Is there a way to facilitate this? Could you lead me to some documentation to allow this to happen?
Thanks!
You can give them a copy of the app using Ad-Hoc distribution. You will first need the UUID of their device (have them download the AdHoc Helper app from iTunes).
After you have the UUID you can prepare the Ad-Hoc distribution of your app. The following instructions should be accurate, but I put them together pretty quickly and may be lacking explicit detail at some points.
Create Distribution Profile:
Sign into the iOS Dev Center (https://developer.apple.com/devcenter/ios/)
Go to the iOS Provisioning Portal.
Add the beta tester's device (Click "Devices" from menu on left, then click "Add Device" button.
Click on the "Provisioning" item in the menu on the left.
Click the "Distribution" tab.
Click the "New Profile" button.
Select "Ad Hoc"
Fill in rest of information.
Check mark the beta tester's device.
Click the "Submit" button.
Wait a few moments, then refresh page and download the provisioning profile.
Double click on the provisioning profile to install.
Configure Xcode for Ad-hoc Build:
Open project in Xcode.
Navigate to the project's settings (Click on the project in the project navigator, then click on the project in the project editor).
Click on the "Info" tab of the project's settings.
In the "Configurations" section, click the "+" button.
Select the "Duplicate Release Configuration"
Name the configuration "Ad Hoc" or similar.
Click on the "Build Settings" tab of the project's settings.
Search for the "Code Signing Identity" build setting.
Change the value of "Any iOS SDK" under "Ad Hoc" to "iPhone Distribution" (found in the "Automatic Profile Selector" section of the drop-down list).
Open the Schema Editor (Menubar -> Product -> Manage Schemes)
Select the scheme for your target and click "edit" button.
Expand "Archive" in the left panel of the Scheme Editor.
Change the selected build configuration to "Ad Hoc".
Click "ok" button.
Compile Project as Archive:
Select "iOS Device" or your iOS test device from the Xcode toolbar.
Archive the project (Menubar -> Product -> Archive).
If everything is successful, then the organizer should appear with the "Archive" tab selected.
Select the archive you just created and click the "Distribute…" button.
Click "Next"
Code Signing Identity: select the identity you created (or use "iPhone Distribution" for automatic profile selection).
Click the "next" button.
Codesign wants to Sign, select "Always Allow"
You can now either save the application for installation via iTunes or check the "Save for Enterprise Distribution" checkbox (see next section for Enterprise Distribution).
Enterprise Distribution (works for ad-hoc distribution to beta users):
Check the "Save for Enterprise Distribution" checkbox.
For "Application URL" enter the real URL that will be used to download the .ipa file, for example: http://www.example/downloads/newapp/NewApp.ipa
Enter the name of your application in the "Title" field.
Save the files (default file names are app.ipa and app.plist).
Upload the files to your web server and change the name if necessary (for example I would need to change the name from "app.ipa" to NewApp.ipa" and "app.plist" to "NewApp.plist").
Verify that you can download both the .ipa (http://www.example/downloads/newapp/NewApp.ipa) and the .plist (http://www.example/downloads/newapp/NewApp.plist) files.
Add the install link for your application to your website:
Install NewApp
Install Application on Device:
Have user go to download web page.
Have user click on install link.
When prompted, have user allow the installation of the app.
I've never used them, but TestFlight may be exactly what you want. Over-the-air beta distribution.

Resources