Can Defold run on a virtual machine?

Hello,
I make a game on win32 and build android, html5. it works fine.
and I have some question below when building IOS

  1. I saw that we can make a mac os app from Defold(Windows version) but can not make an IOS app from Windows. is it different? I think Defold is using cloud build machine :stuck_out_tongue: but why can not make ios?

  2. I install successfully mac osx 10.13.6(17G65) on VMware and can use Xcode to build some project. when I download/install the latest Defold editor (Defold-x86_64-darwin.dmg) and it usually crashes when launching. but when I download a version at d.defold.com (Defold-macosx.cocoa.x86_64.dmg) and see that it runs normally. what is different between 2 editor?

  3. and last notice that Defold from Defold-macosx.cocoa.x86_64.dmg cannot open a project from disk ?. I didn’t see any button but it can open and build some project from http://www.defold.com/p/ ?

I have tried to find info on the docs/ forum but it doesn’t help.
could you please help to answers some questions above?

Many thanks

  1. No, you’re building locally. We use
    cloud servers to build engines with native extensions. You cannot build ios on windows machines because of apple’s signing process.

  2. d.defold.com still points to the old editor 1 (we need to fix that). It is deprecated. Do not use it.

  3. No, the old editor had a different project handling so you could not open projects locally. That was by design but is now deprecated.

1 Like

Thanks for your answers

when running Defold editor version 2 on a virtual machine. I saw it crashed.
does it need a real mac osx or anything else?

Thanks

Log

Last login: Wed Dec 26 23:21:47 on console
tdtanvns-Mac:~ tdtanvn$ /Applications/Defold.app/Contents/MacOS/Defold ; exit;
INFO:TOOLS: Launcher version 8def4b50c9aa049670e698d7dff3dc00d77e42d5
DEBUG:TOOLS: arg 0: /Applications/Defold.app/Contents/Resources/packages/jre/bin/java
DEBUG:TOOLS: arg 1: -cp
DEBUG:TOOLS: arg 2: /Applications/Defold.app/Contents/Resources/packages/defold-e6badbdfbe3d296da36f9f8e2e4848ffdfb9a971.jar
DEBUG:TOOLS: arg 3: -Xdock:icon=/Applications/Defold.app/Contents/Resources/logo.icns
DEBUG:TOOLS: arg 4: -Xdock:name=Defold
DEBUG:TOOLS: arg 5: -Djna.nosys=true
DEBUG:TOOLS: arg 6: -Ddefold.launcherpath=/Applications/Defold.app/Contents/MacOS/Defold
DEBUG:TOOLS: arg 7: -Ddefold.resourcespath=/Applications/Defold.app/Contents/Resources
DEBUG:TOOLS: arg 8: -Ddefold.version=1.2.144
DEBUG:TOOLS: arg 9: -Ddefold.editor.sha1=e6badbdfbe3d296da36f9f8e2e4848ffdfb9a971
DEBUG:TOOLS: arg 10: -Ddefold.engine.sha1=8def4b50c9aa049670e698d7dff3dc00d77e42d5
DEBUG:TOOLS: arg 11: -Ddefold.buildtime=2018-12-18T15:04:06.270469
DEBUG:TOOLS: arg 12: -Ddefold.channel=editor-alpha
DEBUG:TOOLS: arg 13: -Djava.ext.dirs=/Applications/Defold.app/Contents/Resources/packages/jre/lib/ext
DEBUG:TOOLS: arg 14: -Djava.net.preferIPv4Stack=true
DEBUG:TOOLS: arg 15: -Dsun.net.client.defaultConnectTimeout=30000
DEBUG:TOOLS: arg 16: -Dsun.net.client.defaultReadTimeout=30000
DEBUG:TOOLS: arg 17: -Djogl.texture.notexrect=true
DEBUG:TOOLS: arg 18: -Dglass.accessible.force=false
DEBUG:TOOLS: arg 19: com.defold.editor.Start
DEBUG:TOOLS: arg 20: (null)
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fff612cbe9d, pid=687, tid=0x0000000000005903
#
# JRE version: Java(TM) SE Runtime Environment (8.0_102-b14) (build 1.8.0_102-b14)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.102-b14 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# C  [libobjc.A.dylib+0x6e9d]  objc_msgSend+0x1d
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/tdtanvn/hs_err_pid687.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]


I don’t think there is anything preventing running in virtual env, but obviously something goes wrong here. Maybe @Erik_Angelin or @mats.gisselson knows more about this?

2 Likes

I also have been unsuccessful running Defold in a VM.

However, you can build for any platform including IOS using Bob in your Mac VM without launching Defold https://www.defold.com/manuals/bob/. You can then use XCode in your Mac guest VM to upload to an IOS device.

In VMWare I have had no issues connecting the IOS device to a Mac guest VM when plugged into the host.

3 Likes

hello,
thanks for your suggestions.
I tried it with command

java -jar bob.jar --archive  --platform armv7-darwin distclean build bundle

and I see that It is stuck at 99%


I tried some params and see that it create only file .so(instead of.APK on android). dmengine(instead of *.app on ios.
Did you know how to create file app/ipa by using bob.jar ?
I had a developer account on Apple but don’t know how to add *.mobileprovision by command

Could you please help?

Take a look here to create a provisioning profile with a free developer account: https://www.defold.com/manuals/ios/#_developing_using_a_free_apple_developer_account

Once you get to this bit: https://www.defold.com/manuals/ios/#_creating_an_ios_application_bundle

You should know where the “embeded.mobileprovision” file is. Copy this file to the root of the app you want to build. Right click it - Get Info

Then in the “Preview” section of Get Info scroll down to “CERTIFICATES”
You will see:
Name: iPhone Developer:
Your email address
YOUR SIGNING ID in brackets

java -jar bob.jar --archive  --identity **YOUR SIGNING ID** --mobileprovisioning embedded.mobileprovision --platform armv7-darwin --archive resolve distclean build bundle

Check above i typed it in maually.

This should build your .app / .ipa in a build folder :slight_smile:

3 Likes

Thank you.
It works fine now