Am I stupid? iOS on PC? Setting up Monkey X Studio

Monkey Forums/Monkey Beginners/Am I stupid? iOS on PC? Setting up Monkey X Studio

akimis(Posted 2015) [#1]
Ok, first off, I'm new here. I've already got a couple of games under the belt made with Corona SDK and GameMaker. I've just bought the Monkey X Studio Bundle.
Right now my biggest concern is that I don't see the possibility to build for iOS in the Jungle IDE...
I hope someone is gonna help me with my first "stupid' question.
I was really under the impression that Monkey X would compiled my code and then generate the xcodeproject for me, and then I would only need to open the project on my Mac in XCode to build my app.
Is it about the configuration ? Am i missing something?


skid(Posted 2015) [#2]
Unfortunately monkey is configured to translate and compile the target in one go so you can't use a PC for the first step.

Installing monkey on the Mac and using either Ted or command line to build the project is not a big deal. That shouldn't stop you requesting that ziggy ship a Mac tool to automate this process allowing you to trigger the build from Jungle on your PC.


akimis(Posted 2015) [#3]
Ok, got it, thank you skid!
If I can only get an answer from ziggy to tell me on how to install the 200$ Monkey X studio on my Mac that would be great, but that's another story ;-)


skape(Posted 2015) [#4]
The only part of Monkey X Studio that doesn't run perfectly well on Mac is the JungleIDE. You should be set otherwise! :)


MikeHart(Posted 2015) [#5]
Ziggys standard answer to Jungle on OSX will be: Get Parallels. Which is great by itself. But it cost something extra plus the windows license you need for it.


Derron(Posted 2015) [#6]
Running Jungle in Parallels is like having another computer running Windows+Jungle already.

The OP wants to have his "studio" run on Mac and press "compile" there...

Skid suggested to send a request to ziggy to provide some kind of automation tool for mac deployment. So this would be some kind of "server" on the mac, listening to incoming build requests (maybe even with the complete source code). A windows Jungle IDE then checks for server on the LAN and enables specific OS-target builds. On "compile"-button-clicks the server gets the command to compile
a) from a share
b) by the given data

You will end up with some kind of "compiler farm" - you could even enhance it to make it available via "web" (a web compiler) which then again gets a bit shady regarding "offering a compiler for nonpaying-users" (compile on demand).


bye
Ron


dawlane(Posted 2015) [#7]
>I was really under the impression that Monkey X would compiled my code and then generate the xcodeproject for me, and then I would only need to open the project on my Mac in XCode to build my app.
Not out of the box. Trans has a safe guard that checks to see what the host operating system is. Crippling this safe guard and recompiling trans will at least allow you to generate an Xcode project that you can compile with Xcode.

See the IsValid method in monkey/src/transcc/builders/ios.monkey.


ImmutableOctet(SKNG)(Posted 2015) [#8]
@Derron: I don't think that's exactly what he wanted, but it's an interesting idea. It's been talked about on here before, though. Also, everything but Mojo's native source (For everything but GLFW and HTML5) is open source and compilable to normal users (Unless Trans is currently using something experimental). You basically pay for support, Mojo, and whatever else might be in the package (Bundles and what-not).


akimis(Posted 2015) [#9]
Ok, so I won't be able to compile the app in XCode? Really?
What if I want to integrate an advertising SDK to monetize my app, I won't be able to do so because Monkey X is compiling my app??
Wow, I'm confused...


tiresius(Posted 2015) [#10]
You install Monkey-X with TED on your Mac with all that it needs (XCode, etc.) and then you take your project you worked on in Windows and recompile it using TED or another IDE that works in Mac. Your development environment is in Windows with all the niceties of Jundle-IDE and when it comes time to port to Mac you do it in TED on the Mac.


ImmutableOctet(SKNG)(Posted 2015) [#11]
@akimis: As dawlane said, you'll have to modify Trans to disable its platform check for the iOS builder. Or, you know, you could just run the compiler on a mac, considering you'll have to compile it on there, anyway. The only problem with dawlane's hack is the fact that the code built would be for Windows to begin with. A better option would be to simply make the 'HOST' variable configurable. That pull request's small changes are the only things you need to do. From there, simply build 'transcc' with the "C++ Tool" (STDCPP) target, and you're good. I don't know why Mark won't just merge this and be done with it.


ziggy(Posted 2015) [#12]
@akimis: When you install Monkey X Studio in your PC, it will also generate a Monkey X folder in your Monkey x Studio framework, that contains all required tools for Mac compilation. This tools consist of the Mac version of TED (a simpler IDE for mac). The best approach is to set up a network drive to your mac, and share project location there. You can then code in either of your dev machines (even if one of those machines are virtual) and handle compilation as you wish. Be sure to map the network location to a network virtual drive in windows in order to ensure compatibility with Jungle IDE.

Another approach (this is what I actually do) is to run Jungle Ide on a Mac using Parallels. This has been already commented here but the fact is that it works very well, but requires thirdparty software.


akimis(Posted 2015) [#13]
Thanks a lot people! It all make sense now (take the code base and compile on my Mac).
But that brings me to my other question... What if I want to integrate an SDK in my iOS or Android project (ex.: Chartboost, RevMob) before the final compilation?
Any pointer on this?

@ziggy: for the Monkey X installation on the Mac, I would expect to see a DMG file somewhere but it's not the case. Can you point me in the right direction for the Monkey X installation on a Mac? Do I have to manually copy everything (.app)?

BTW, sorry about all theses questions. The Monkey X documentation is, let say... thin...


dawlane(Posted 2015) [#14]
For iOS I would include the library files into the Xcode project. If it's something that you use on a regular basis, then edit the Xcode template for the target in the targets directory. You can do the same with any of the targets. Of course you will need to wrap any function calls with some glue code (C/C++,Java,etc), so you can call them from monkey.


skid(Posted 2015) [#15]
To add extra SDK you will need to fork a target and need a good knowledge of C++ / xcode development. The reason this kind of information is not included with monkey is that it would be wrong for BRL to suggest this is an option for people who do not have this expertise. If you have this expertise then you do not need documentation as the manner in which monkey integrates with xcode project system is readily apparent by examining the files created.


ziggy(Posted 2015) [#16]
for the Monkey X installation on the Mac, I would expect to see a DMG file somewhere but it's not the case. Can you point me in the right direction for the Monkey X installation on a Mac? Do I have to manually copy everything (.app)?
You just need to copy the Monkey X/MonkeyXProxxx folder to your Mac, and run the Monkey app there, but you'll need to copy the whole folder, as there are also related modules, documentation, etc all in its proper folder structure that is additionally shared with the Linux IDE and compiler (just in case you ever need to also create a Linux version of your game). Depending on your setup, you can just make this folder network shared, and no copy at all could be required.


akimis(Posted 2015) [#17]
Well, I must be stupid (ha ha ha)... Just copied the the Monkey X folder to my Mac. Double click on Monke, but it doesn't start... Any Mac user to help me?


skid(Posted 2015) [#18]
Ziggy is mistaken. You need to unzip the monkey distribution on the Mac using the native MacOS unpack command which correctly adds the executable permissions to the files.


skape(Posted 2015) [#19]
Ziggy is not "mistaken" per se... You can change the permissions easily enough from bash: chmod -R 755 /path/to/monkey/


ziggy(Posted 2015) [#20]
Ok, easiest way (I'll add a way to improve this ASAP). Zip the Monkeyx folder from Windows (winrar will do it well) and then, unzip it on your mac using the builtin zip utility for the mac so it gives appropriate permissions to the "apps".
Also, be sure to allow the execution of apps that do not come from signed distributors or the app store only!


skape(Posted 2015) [#21]
(I'll add a way to improve this ASAP)

Does this mean Jungle for Mac? :D

(One can dream. ;) )


AndroidAndy(Posted 2015) [#22]
@Ziggy - I am just setting up my mac for iOS development. Not sure what differences are in the Monkey X distribution for Studio is vs. the configuration of the 3 products purchased separately?

I am setting up VMware Fusion and plan to load my Windows development VM with Monkey X, Jungle IDE, and Ignition X already setup and configured for the Jungle supported targets. I did not see the iOS target and was planning to create a network share to my OSX host from the windows VM, code in Jungle, then open in TED to do the iOS generate and compile.
Another approach (this is what I actually do) is to run Jungle Ide on a Mac using Parallels.

Could you please create a detailed step by step guideline on the setup configuration and then best practices of the workflow in the context of using Jungle IDE this way from Parallels and/or VMware Fusion?

Would be really helpful to be able to stay in Jungle IDE for the entire process, but that would require you to develop a simple server that runs on the mac to automate the mac build process as @Derron mentioned above.


ziggy(Posted 2015) [#23]
With Parallels, the documents folder and most user folder is shared between Mac and Windows. I just got the compiler there, and open Ted on the Mac to compile for the Mac. No special things required. I've not tested it on VMware fusion, but I think all you need to do is install the VMWare Tools on the Windows VM, and add a shared folder with the Mac. If that folder is the same where you have Monkey X in windows, you should be done!


AndroidAndy(Posted 2015) [#24]
@Ziggy - Thanks, it sounded like there was something else that you were doing with Jungle IDE, but based on your description there is not. Any comments on the idea of having a compile kicked off from Jungle IDE via some connection to a service running on the mac? Also, you didn't comment on the any differences in the Monkey X Studio distribution vs those of us that purchased the 3 products separately, could you confirm if there are any differences? Thanks!


akimis(Posted 2015) [#25]
Wow... not to sound sarcastic, but all this info is so well documented (http://www.monkey-x.com/docs/html/Target%20SDKs.html)!

Thank you guys... meanwhile, I've decided to go back to Corona SDK... My time is precious ;-)