Sign windows electron build on macOS (Catalina) - windows

On Mojave I had electron builder set up with osslsigncode to create windows builds working with an EV certificate. outlined here
Since 10.15/Catalina this is no longer possible as the build process uses Wine to create the nsis installer package. Wine is 32bit, support for which has been dropped.
The new recommended build process is to use a docker container to perform the build (essentially using linux). I am trying to create a docker image with osslsigncode without success so far, and am wondering if I will ever be able to get the EV usb dongle visible in a docker container.
Anyone have any solutions - other than build on windows!

Related

App run via Qt Creator doesn't prompt for microphone permission on macOS

When I build and run my application via Qt creator, it doesn't prompt for microphone access and because of that microphone doesn't work within the app.
If I run the built application directly via terminal (open applicaton.app) permission prompt similar to the one below is shown without any issues:
My environment:
macOS Monterey 12.4 on MacBook Pro (16-inch, 2021) powered by Apple M1 Pro chip
Qt 5.12.12 with Qt Creator 5.0.2
This makes it difficult to test my app since every time I build it, I need to run it from the terminal for microphone to work. NSMicrophoneUsageDescription is present in the Info.plist (otherwise it wouldn't work at all).
I've tried Qt 5.15.2 and everything works fine there (app requests permission when run from Qt Creator), but I need to use 5.12.12 for other reasons.
This is because QtCreator was set up without microphone access and child processes running from QtCreator would inherit that setting.
When you run it through the console, the application would be in charge of setting these permissions up for itself as opposed to inheriting it from QtCreator.
It seems that the QtCreator maintainer addressed this issue in QtCreator 8.0.0 in this commit. The issue was originally reported in this Jira ticket.
So, the solution is to either use that version or just launch it separately or in a different IDE for the time being.

Building Xcode project without a provisioning profile

I'm sorry if it's already answered here but I wasn't able to find it.
I want to play a bit with DriverKit and SEXTs but I'm not in the Apple Developer Program. Is there a way to build a project using DriverKit in Xcode without using a provisioning profile? Or can I generate a 'fake' one manually? I'm trying to build a DriverKit project by Scott Knight but I'm getting ""USBApp" requires a provisioning profile with the System Extension feature." and ""MyUserUSBInterfaceDriver" requires a provisioning profile." errors.
I tried to run a small demo which uses the Endpoint Security framework. I built it using clang and ran it in a virtual machine with SIP disabled. However, I'd like to try to develop a bigger project (and to also try writing DEXT) and I don't want to build it using clang every time neither to use Xcode in the virtual machine (I don't even know if I would be able to build it using Xcode in the VM plus disk space limitations).
My goal is to develop and build in the comfort of my host machine without need of the VM, and then to run (and debug) it in the virtual machine.
P.S.: For ones that want to build the same demo (got SIGSEGV but I was able to build it and run it on Catalina 10.15.3):
clang -framework Foundation -framework SystemConfiguration /usr/lib/libEndpointSecurity.dylib /usr/lib/libbsm.dylib EndpointSecurityDemo.m -o esdemo

Can Gitlab-CI runner work with MacOSx and docker to publish in app store?

I am thinking to host a MacOSX device for building and distributing the application in the Mac Application Store.
I would prefer to run the gitlab-runner instance using a docker container, and if possible, deploy it with marathon by distance.
Is that even possible?
Last time I built native apps you needed native OS X for using the necessary tools like app signing and such. Building in a docker container is not native OS X, so that would not be possible, and Marathon is then also out of the question.
But..using a GitLab runner with the Shell executor on Mac OS should work! You can run all Mac tools (if they don't need an interactive window)
If you are using hybrid apps (React Native for instance https://github.com/ptmt/react-native-macos) you can build apps for 90% anywhere, but it becomes tricky when you need to sign stuff again.. But here are services like http://www.macincloud.com where you rent a Mac for a while!

How to emulate clean mac environment to test .app

I created the .app with Qt application that I'd like to distribute. It works fine on my developer machine and now I want to test it on clean mac system to check if all dependencies bundled and it works correctly. But I don't have another clean mac.
Is there a way to emulate clean environment on dev machine to check the .app?
You can install macOS on a virtual machine, using Parallels or VMware Fusion.
This can be useful to ensure your app is deployed correctly, with all the dependencies in the right place.
However, keep in mind that the VM won't support accelerate graphics, so if your app is using OpenGL, you will not be able to test it in this kind of environment.

Icenium / Phonegap Build - how do they create IOS ipa?

I'm currious to know how e.g. Telerik Icenium / Phonegap Build creates IOS ipa files?
Do they use physical mac's for this task or how do they come about this?
Or rephrased: Can I in any way create Cordova ipa files on Windows?
You don't need an actual Mac, just Mac OSX. If you don't feel like buying a mac than you can get a hold of the image of Mac OSX and install it onto your PC using Virtual Machine software. I use VMWare to run MacOSX from my Windows 7 x64 machine.
VM's are a great way to go, the driers can take a bit to setup, but once everything is working it's perfect.
VM's even support ethernet so from within the VM you can browse the web, download mac apps.
Install things like XCode or GameSalad. I suggest researching how to use Virtual Machines.
(I'm part of Icenium team). Yes, we're using physical Mac machine to build your app for iOS.

Resources