is it possible to configure custom mac osx app icon set with client-maven-plugin of gluon? - gluon

I'm experimenting with the client-maven-plugin from Gluon. The output of mvn client:build generates an mac osx app having a default set of icons on the appiconset.
My Question : Is it possible to configure a custom app icon using the gluon client-maven-plugin ?

If you build a JavaFX project with the Client plugin for Mac OS or iOS, by default it generates a gensrc folder in the build folder, where a set of default assets is copied.
You can see a comment printed out:
Default Mac resources generated in .
Consider copying them to before performing any modification
This means that you should copy the mac folder from gensrc to your src folder (so you should have src/mac/Info.plist, src/mac/assets, ...), so the next time you build your app, these assets will be used instead.
Once you have verified this works as expected, you can easily change the included assets with your own, or modify the default plist if needed.

Related

How to generate a unique plist for a project when it is based on a previous project in Unity

I've been working on a new Mac app based on (copied from) an old Unity project. I have renamed the new project at the folder level, and have changed the 'Product Name' in 'Player Settings'. But when I build the app on the same computer that the old app was built on, the new app opens already populated with the information stored in the plist for the old app.
I want to have both apps working on the same computer, but now having used the new program on the same computer as the old, it has wiped the plist information from the old program and replaced it.
How do I force the app to use a unique PlayerPrefs plist? (Hopefully without having to rebuild the project from scratch!)
According to the API on MacOs in the editor PlayerPrefs uses a path based on the bundleIdentifier
In-Editor Play mode storage location
On macOS, PlayerPrefs are stored in /Library/Preferences/[bundle identifier].plist.
=> Try to change the bundle identifier in the PlayerSettings

Cannot run exported application

I've developed a simple MacOS application (i.e. a product consisting of main application and launch helper application) with Xcode 9.4. Application runs fine in Xcode. I've archived and exported the app (either "Export without re-signing" or "Development" using "Automatic signing"). The export process runs without errors.
However, it is not possible to the application. Upon starting outside of Xcode, nothing happens; no error message etc.
How can this be further diagnosed?
Finally found it thanks to #clemens. Embedded libraries have their place inside the generated package in /Contents/Frameworks. Since I had previously embedded a login item I had set a /Contents/Library/LoginItems target path that was used below Frameworks which is clearly not the expected place. Removing the library, cleaning the path and re-adding fixed it for me.

App installation request in osx

I have a nwjs app that was built using nwjs-builder to create mac application (MyApp.app) and then packed into dmg image with node-appdmg.
If i don't have any version of my app in Applications folder yet, I get this dialog when I double click on the app in mounted dmg image:
And when I click 'install' i get this:
Now my question is - can I control this behaviour somehow? Disable that installation offer, or find out how does it try to install and why does it fail? Could not find any clues inside generated build or in nwjs-builder or in node-appdmg.
Here is what I found. The dialogs and installation code is not a part of nwjs, but chromium (chromium.src/chrome/browser/mac/install_from_dmg.mm).
I found 2 ways to disable installation request.
Make dmg writable - add format: "UDRW" to appdmg settings.
nwjs accepts chromium arguments by 'chrome-args' key in manifest. Specify --no-first-run to disable installation request. But this is a risky way, no first run key might affect many internal processes.

Unable to find APP_BUNDLE_PATH. Cannot find a built app that is linked with calabash.framework

I am running calabash-cucumber in xcode 5.0.1 on OSX 10.9.1, but getting this error while executing the test script. I have installed calabash framework successfully, but don't know why this error occurs.
Error... Unable to find APP_BUNDLE_PATH.
Cannot find a built app that is linked with calabash.framework
Please build your app from Xcode
You should build your calabash target.
Alternatively, specify APP_BUNDLE_PATH in features/support/01_launch.rb
This should point to the location of your built app linked with calabash.
(RuntimeError)
/Library/Ruby/Gems/2.0.0/gems/calabash-cucumber-0.9.168/lib/calabash-cucumber/launch/simulator_helper.rb:178:in `app_bundle_or_raise'
/Library/Ruby/Gems/2.0.0/gems/calabash-cucumber-0.9.168/lib/calabash-cucumber/launcher.rb:307:in `relaunch'
/Users/mymac/Desktop/myproject/myproj/features/support/01_launch.rb:29:in `Before'
Does your simulator or device contain the YourApp-cal target installed? Check weather you run the YourApp-cal target once from the xcode to install the app with calabash server on simulator or device.
Then Check you have followed setup Process
You need to have xcode tools installed too.
Check these things too.
Build the yourApp-cal target and run using xcode once.
While App is running open a Terminal(console) and type calabash-ios console. If your ruby environment is correct it will open you a ruby console.
In that console type
server_version['version']
and
Calabash::Cucumber::FRAMEWORK_VERSION
you should get something like "0.9.164"
calabash.framework is installed correctly in your app.
If so You should go to the file /YourProject/features/support/01_launch.rb open it check weather app bundle path is specified or not (if it is commented out calabash automatically detect the default app bundle path) if you are building your app to somewhere else than the default place you need to specify the appbundle path here in this file.
Tell us more details after check this list so we can help you more..
I hit the same issue, the way I got around to it is, on Xcode's top-right corner there is "Identity and Type" window. There you will find the full path of anything that you select on left (Project Explorer window).
Now usually on the ProjectExplorer window you should have "Classes", "Common", "Frameworks", "Other Sources", "Product", "Resources", "Scripts" etc. (It might be slightly different project by project). Inside "Product" is where your .app lives.
Select your app and you'll see the whole path on "Identity and Type" window.
Copy and paste it to "support/launch.rb" where it says APP_BUNDLE_PATH.
Should work now.
Edit 29/07/14: Do you see
HTTPServer: Started HTTP server on port 37265 on 'All output' window of Xcode (my version of Xcode is 5.1) when you build ?
There is a better way to set up calabash so you won't have this problem.
It involves creating a configuration, rather than a -calabash target. Basically you
1. create a configuration
2. add calabash framework to that configuration in build settings
3. add framework search path to find that framework
4. create a scheme to run calabash
The longer version can be found
http://fangmobile.com/2014/05/08/do-you-love-calabash-ios-but-hate-that-cal-second-target/
Deleting the contents of /Library/Developer/Xcode/DerivedData and compiling again solved this problem for me.
My error message was Unable to auto detect APP_BUNDLE_PATH.

Unable to download at this time; enterprise build/ad hoc distribution

So I have a very weird problem. Trying to deploy the once click deployment using the enterprise code signing thing.
I have it uploaded on the server and I go to the link in safari, when I open it on the iPhone it gives me unable to download, application cannot be installed at this time. However, when I tried it on my iPad (iPhone app running on iPad), it works just fine. Why is this?
Your problem is one of 2 things.
The xml in your .plist that goes with the app has incorrect values or you are using a non enterprise distribution certificate. Make sure you have a current certificate and when building select that cert. Also make sure the xml in your plist is correct.
Note a fields you enter when building the app ( icon, target host, etc. ) are not necessary to enter all the time. ( I just type the letter a into each field ) I copied the original plist and changed the values manually. I deploy the file to a temp folder and only copy the .ipa to by IIS virtual folder.

Resources