Build iOS application package (ipa) without physical device - ios

I have a ionic/cordova application. In Android, I can both build for debug and release (self-signed locally) and generate an .apk package to distribute anyone, being quite easy. On the other side, for iOS: I have a friend with an Iphone, and so far impossible to test the application there. We have hundreds of km between us. I have the Xcode and I have tried in the simulator, but I want to try it in a real iOS device. I have even his account (appleid and I can see the iphone), in Xcode I have the User role as iOS Development (tried with Generic Device but also his own iphone version), but I cannot get my app signed to generate the .ipa package (that I would send to him). There are two errors: a) one regarding no profile / device associated with our account b) no valid bundle id. It seems that Xcode needs physically the iphone connected to the Xcode computer.
So, my questions:
How can I create the .ipa to distribute (just for testing purposes, I don't mind about the App Store)?
In case I subscribe to the Development Team ($99) to be able to publish in App Store, can I generate the .ipa without having any phone connected to the computer?
In case I need a physical device, can I just use a 2nd generation iPad (max iOS 9), with the latest Xcode (Mojave), even if it is not listed in the devices "it supports"? (minimum is 5th generation iPad listed in build for)?

Related

Building Flutter iOS binary without physical access to a Mac

I have an iPhone
I don't have a physical mac. I'm using the new AWS mac instances to use XCode / build the binaries (Completely kosher and allowed by Apple).
I can't connect the phone and the AWS instance since they're not physically in the same place.
If I can build an IPA of the app, I should be able to use Firebase distribution to distribute the app to my phone (I think). But when I try to build the app using flutter build ios I get errors like: 'There are no devices registered in your account on the developer website. Plug in and select a device to have Xcode register it'
What should I do? Can I virtually register my device somehow by putting its UUID somewhere? Can I sign up for a developer account and use TestFlight to distribute the app? Will that also require the device to be physically plugged in?
I can answer for the TestFlight part. You can distribute the app via TestFlight, and the device does not have to be plugged in. So that is very doable.
Using TestFlight is simple and pretty straight forward with many guides, official ones and also on youtube. There are several troubleshooting tips here on SO as well. The drawback as I see it is that it takes time before your pushed build is readily available on TestFlight. So it won't be a good way to iterate code changes fast.

How do I convert a mobile app on my device into an IPA file?

I've been using an app (Simblee app, to be specific) to manage some software components of a hardware device - an electric motor system. For example, the Simblee ios app is used as the UI to control some of the functionality of the hardware device like turning on the led lights on the device, managing how much power the device outputs, etc .
However, the app is no longer available through the App Store. I can still use the Simblee app on phones where the app has already been installed but I just got a new phone and I cannot use the Simblee through that phone. I saw online that it may be possible to convert the app from a phone to an ipa file. I've tried using iMazing to generate an ipa file but run into issues where the ipa file is corrupt. When I go on diawi to share this app with others, the error I get is: 4001009: Invalid .ipa file: missing embedded mobileprovision.
My question is two-fold:
1) Is there another way to convert the mobile app to an ipa file?
2) If not, is there a way to fix this error that I'm running into?
A mobile app is distributed via an IPA file. The problem you're facing is app signing. iOS apps are digitally signed by the App store for a specific device. You need to install the app from the app store in order to get it signed for a new device. I don't think there is a way to circumvent that step unless you use a jailbroken phone.
On Mac OS you can copy a Mac app from one Mac to another Mac with that uses the same AppleID in the app store and it will authenticate it and it will work, but I don't think you can do that with iOS apps.
tldr: I think you're out of luck.

Ionic - build iOS package file for testing on device

Currently I am trying to build a new app with Ionic 3. I am looking for steps to build a file for installation, which has the same functionality with APK file for android devices. I don't know whether it should be an IPA file or other file types, as I have never used an iPhone or iPad myself before. Right now, I have a free developer account registered with Apple ID.
What I can find on the web seems only allow developers to build apps for testing on real devices which the developers have access to. To be more specific, I always see people say that users should plug in the device via USB and pick the target device in XCode under the "Scheme" drop down selector. I tried to follow the steps provided by others, but it always ended up with an error in XCode, either it is related to code signing error, or device not registered in my developer account.
What if I do not own any iOS devices? What I have is only a single MacBook for coding. I would like to prepare a file and send it to my friends, and let them install my app with that file on their iOS devices.
I am using XCode 9 and Ionic 3.
In iOS you can no do what that, If you want to send your app to your friends for testing you have to build the app with ionic cordova build ios and then open the project in Xcode and build/upload your project to your Apple developer account.
After that, you have to use Test Flight to share your app for testing.

Testing Apps on a Device

When using trigger.io toolkit, there's an option that says
"Build and immediately run your app, either locally, on a simulator or on a connected device."
How do you run the app on a Connected Device? I want to see the app on my iPhone and see how it behaves directly. Is this possible?
Thanks
Marc
I'm going to assume you're working on windows with an iPhone that's iOS8 because that's where you currently can't run your app directly on a connected device.
What we did to "fix" this is creating a Development Provisioning Profile with the UDID's of our test devices and added this to config -> tools in the trigger.io toolkit. In the forge you now select package -> iOS giving you a .ipa file. This .ipa can now be installed using iTunes on your test devices.
It's a bit longer than just clicking run on device like you can for Android but at least you don't have to send it to testflight and wait for apple's approval.
This is possible but it depends on your os.
If your on a Mac you can deploy to both ios and android devices from forge, just connect them via usb and build, grated you need to make sure iTunes sees your devices etc.. there are guides on the trigger site
If you are on Windows, you are unfortunate out of luck right now, this used to work but ios8 broke this so if your building on ios7 you could still do it on Windows, otherwise you would need to use testpiolet from apple

Test iPhone app made in flex on iPhone 3GS?

I have built an app in Adobe Flex (4.5) and it works well on Android, but i need to test it on an iDevice. I have an iPhone 3GS available, and I have made a provisioning profile with it and certified it through the proper Apple channels, but trying to install the app to the phone through iTunes results in an error (the same one you get when trying to install non-market apps), and I can't find a way to import it into xCode.
NOTE: I developed the app on a PC in Flex, but have a MacBook Pro available for testing.
Is there any way to test my app or am I out of luck?
You need a developer version of your iPhone for it to work. Take a peek at the Adobe documentation. Look at Page 4 for "Obtaining and working with iPhone developer file".

Resources