Build iOS .ipa from Ionic 4 project inside Bitbucket pipeline - ios

I have an Ionic v4 project in bitbucket, I created a pipeline to build Android APK from the project using Docker and the basic .apk building steps.
Now I have to do the same thing for iOS. I don't think Docker will be a good option since it can't really run a Mac image.
My question here is: Are there services, libraries or something else that I can use to build the .ipa on the pipeline? Preferably free with the least cost, has anyone made such things and has examples here to help me get it off the ground?
I've been looking at Microsoft App Center and CircleCI, for example, but both seem to have a cost and A LOT of capabilities that really aren't necessary in this project...
Thanks in advance!

Related

Gluon Mobile project builds native-image but fails to run it (on Linux)

I am testing the Gluon Mobile framework, and have made a small application based on the Afterburner with FXML template from the IntelliJ Idea Gluon plugin.
The application builds and runs successfully on the JVM and I am also able to build a native image (./gradlew nativeBuild on Linux with GRAALVM_HOME pointing to 20.3.0.r11-grl).
When I try to run the native image (with ./gradlew nativeRun) it fails with javafx.fxml.LoadException: biz/nellemann/pwgen/views/main.fxml. Maybe related to java.lang.ClassNotFoundException: javafx.scene.control.Slider?
I have looked through the Gluon docs and searched for similar errors, but have not been able to solve my problem. I hope someone can take a look and enlighten me.
The full trace can be seen at https://pastebin.pl/view/f75a0138, and the source for my test project is available at https://bitbucket.org/mnellemann/pwgen-gluon/.
Thanks in advance,
Mark

Building for Android Xamarin ARM in Azure Devops

I've created a quick build definition for a project of mine on Azure DevOps, it's a Xamarin solution. Anyway, I was assuming that once built, I could then get the APK and install it on my phone. But it's not installing, and without knowing what's actually wrong, I'm lead to believe that it may be the build configuration as I can do it fine from my local PC.
I've taken a screenshot of the configuration Xamarin options and the only choice of architecture is x86 or x64... surely I need ARM like I would on my local PC? I see nowhere to select ARM though, how do I do this? Or is this not the issue?
Nick.
I found the cause, I needed to sign the APK, for some reason I kind of expected "unknown sources" to include "Unsigned", but even though I'm using a test cert, it's now installing as expected.

How to build and deploy xamarin-evolve locally in android device

I'm brand new to xamarin world (as well as visual studio). I've forked xamarin-evolve app 1 and trying to build and deploy in my local android device.
In documentation, under "Mobile App" section, its mentioned:
Simply restore your NuGet packages and build the application.
As a beginner, I'm looking for a bit more explanation how to build and deploy this project locally in my android device. So that I can play with it.
I would truly appreciate any cooperation.
Thanks.
When you Open up src/XamarinEvolve.sln, do the dollowing steps :
Clean the project solution.
Delete the bin & obj folder in XamarinEvolve.Android, XamarinEvolve.iOS and XamarinEvolve.UWP.
Right click on your Project Solution, then click the Restore NuGet packages.
Deploy the XamarinEvolve.Android project in your device.
Effect.

Build time for aws-sdk-ios on CI with Carthage

I am using Carthage and aws-sdk-ios. I use just 2 projects from aws, but Carthage needs to build all the other 20+ libraries.
On BuddyBuild this means 40 minutes to build. It's impossible to work like this in a team.
This is in the Cartfile:
github "aws/aws-sdk-ios"
Is there a solution to this?
Tools like Rome are super useful to speed up CI builds by storing the results in S3.

Visual Studio iOS deployment fails because "The edge module has not been pre-compiled"

I am trying to deploy a HTML/CSS/JS Apache Cordova application from a windows machine to a Mac. I believe they are communicating properly through the remotebuild agent but when I attempt to build a blank project to deploy on the Mac this error is thrown at the very beginning of the build:
MDAVSCLI : error : The edge module has not been pre-compiled for node.js version v4.1.1. You must build a custom version of edge.node. Please refer to https://github.com/tjanczuk/edge for building instructions.
I have followed the link and have searched for the solution as to how to fix this error but the link does not seem to apply to what I am doing at all. I am not using any node.js functions in my code so I am confused as to why this error is occuring. I am only trying to build a nearly blank HTML page and I still get the error regardless of how simple I make the page.
How can I go about fixing this solution? what is the best way to get rid of this error or to as the error suggests pre-compile edge to work with node.js version 4.1.1?
There is an issue with Cordova 5.3.1 and Node v4.
https://github.com/Microsoft/cordova-docs/blob/master/articles/known-issues/known-issues-ios.md#building-for-ios-hangs-when-nodejs-v40-is-installed
I fixed by uninstalling Node v4.1.1 and installing Node v0.12.7
https://nodejs.org/en/download/releases/
#Dustin,
you have a misconception about how Cordova works. You say you want to deploy to a Mac, but I think you mean iOS. If so, you should read:
What's needed for iOS Development?
https://groups.google.com/forum/?fromgroups=#!topic/phonegap/bf1Hgkel3W4
I Quote
The short and sweet of it is as follows:
You need OS X + Xcode
You need several iDevices
You need $99/year for Apple Developer program (which you've already indicated is not a problem)
All of the above = cost-of-doing-business.
If you read the entire thread (especially the part from Kerri Shotz), you will get more information and more options.
Best of Luck
After losing a fair bit of hope and following a lot of posts, blogs and bug work-arounds with no luck I decided to click on the 'Run Dependency Checker' button in Visual Studio - Tools -> Options -> Tools For Apache Cordova -> Cordov Tools. This checker told me that Joyent Node.js wast installed. I did have node.js and npm set up on the latest version, im not sure what the difference is.
I went through the process of modifying the VS installation (change or remove a program) and sure enough Joyent Node.js wasnt checked. I cheked it and it went through the process of installing.
My VS installation now looks like the below and my project is building without:
MDAVSCLI : error : The edge module has not been pre-compiled for node.js version v4.1.1

Resources