On the gym description says: gym builds and packages iOS and macOS apps for you. It takes care of all the heavy lifting and makes it super easy to generate a signed ipa or app file.
I can't search in documentation how to export .app file. I need the .app file and path to start the calabash tests in my jenkins CI.
We are planning on supporting .ipas in the Calabash iOS tool chain. Until then, use ditto to unzip the .ipa.
$ xcrun ditto -xk path/to/Your.ipa ./
$ mv ./Payload/Your.app path/to/somewhere/else
Related
I could not find a parameter to define the output filename of the ipa file. Is there an easy way to set the ouput filename?
I use an azure pipeline to build my ipa file:
- script: flutter build ipa --export-options-plist=ios/exportOptions.plist --build-number=$(Build.BuildNumber)
displayName: Build iOS adHoc
I want to generate 2 ipa files. One for the AppStore with an AppStore profile and one with adHoc Profile. For that i want a second command but i cant find an easy way to declare a filename so i can have both files generated.
I was looking for this as well. There is a note about it here.
https://flutter.dev/docs/deployment/ios
Note: When you export your app at the end of Distribute App, Xcode
will create a directory containing an IPA of your app and an
ExportOptions.plist file. You can create new IPAs with the same
options without launching Xcode by running flutter build ipa
--export-options-plist=path/to/ExportOptions.plist. See xcodebuild -h for details about the keys in this property list.
I would Like to know how I can build a release app without registering it to the app store. I would Like to have the APK file and share it with friends for testing purposes without registering the app. Cant find information connected with this.
Thanks!
UPDATE:
Found solution for getting .ipa file which was installed with Cydia Impactor on a real device:
# flutter build
flutter build ios --release --no-codesign
# make folder, add .app then zip it and rename it to .ipa
mkdir -p Payload
mv ./build/ios/iphoneos/Runner.app Payload
zip -r -y Payload.zip Payload/Runner.app
mv Payload.zip Payload.ipa
# the following are options, remove Payload folder
rm -Rf Payload
You can follow this article to make .ipa file. (.apk is for android only, for iOS it's .ipa)
https://medium.com/mλgnξtλr/how-to-export-a-ipa-file-from-xcode-without-a-dev-account-bac8b2645ad3
Keep in mind that, apple is signing build to be installed on real devices, so you have to turn that off, and after making an ipa file, you can upload it to www.diawi.com and get link from there to share it with your friend. This diawi links are not working some times, in that case you can use cydiaimpector tool for installing the build.
For this installation, your friend has to put their apple id and password upon requested, here NOTE that if your two factor authentication is ON, then you have to create app specific password to be entered in.
How to create app-specific password?
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=2ahUKEwiSvpjUo-fjAhXt8XMBHRtBDlUQFjACegQIDBAI&url=https%3A%2F%2Fwww.imore.com%2Fhow-generate-app-specific-passwords-iphone-ipad-mac&usg=AOvVaw3chF3FoIcfHZLR6jExh_EZ
Without actually loading my .xcodeproj into Xcode, is it possible, from the Xcode app, to start an app install to my iPad using the .app file only, which was generated in an earlier build?
This is my last line of inquiry... I'm just looking at potential options because I don't have a paid developer account (yet) and might try to use Teamviewer to log into the remote client Mac to install via Xcode, but do not wish to reveal my project file/code on the remote machine. Installing from within Xcode purely using the .app file would solve my problem, if possible.
I managed to work out a way to do it using this, this, and this. You will need the XCode command line tools, which come as part of the App Store XCode install, or you can get the command line tools only from here.
First up, download and install npm. Then install ios-deploy from the terminal,
sudo npm install -g ios-deploy --unsafe-perm --allow-root
If you need to build from the command line, make sure you have a working XCode project which builds as you want, open a terminal and go to the directory with your .xcodeproj inside, then type:
xcodebuild -list -project <NAME>.xcodeproj/
xcodebuild -scheme <SCHEME NAME> build
Then, or if you've already built in XCode and just want to deploy your .app file to the iOS device, type:
ios-deploy debug --bundle <APP PATH>
You can change debug to release, or either way it will use whatever you set your XCode build configuration to be I think. The <APP PATH> location depends on your XCode install, but the most recent location (I think) is
~/Library/Developer/Xcode/DerivedData/{app name}/Build/Products/Deployment/
This will install your .app onto the iOS device from the command line, and you don't need to load XCode up, or expose your source files. Just requires the .app file. For me, this is a potentially useful way to install an app remotely on a client's device without the need for a paid developer account.
There used to be a way to build an IPA from an .APP bundle using xcrun but Apple, for some reason, has deprecated PackageApplication. I'm left only with xcodebuild, which requires an Xcode workspace file. My .APP wasn't created via xcode. It was made with Visual Studio for Mac with Xamarin. I can make an IPA by exporting an archive from the IDE but what I'm trying to do is build the IPA from the command line and sign it. The signing part is very straightforward but I don't know how to build the IPA without ZIPping it manually, adding in the embedded.mobileprovision, etc.
Is there an alternative to xcbuild PackageApplication that I can use?
I'm trying to do is build the IPA from the command line...
You can use msbuild to build/package an .ipa
/Library/Frameworks/Mono.framework/Commands/msbuild \
AStackOverflowSolution.sln \
/p:Configuration=Ad-Hoc \
/p:Platform=iPhone \
/p:BuildIpa=true
re: Building via the Command Line (On Mac)
For Windows, include the ServerAddress and ServerUser of your macOS build system
/p:ServerAddress="192.168.40.40"
/p:ServerUser="YourmacRemoteSSHuser"
re: IPA Support in Xamarin.iOS
For test automation (GUI test, not XCUnitTest) purposes, I need to install an iOS app onto a physical hardware device.
I'm looking for:
a replacement to Fruitstrap (it has been abandoned)
or a way to perform XCode's "Build & Run" action on a target device
I've tried:
using xcodebuild and pointing the -destination argument at the target device and providing build actions of clean and install
It finds the target device and begins cleaning and then installing.
At the end of all the files being compiled and the app being signed, I get a success message
** INSTALL SUCCEEDED **
But, alas, no app is installed on my phone.
This is my full xcodebuild command:
xcodebuild
-destination platform=iOS,id=######## \
clean install
Here's the gist of the output
Creative suggestions welcome.
I'm considering writing an applescript if needed, but wish there was a better way.
Fruitstrap is, for the time being, working and installing the app correctly.
/path/to/fruitstrap \
install -id ##udid### \
--bundle "/Users/#######/path/to/application.ipa"
Other, more maintained solutions are still welcome.
Limitations:
Need to have a prebuilt .ipa file
Target device must be signed with a provisioning profile that includes the target device's udid