[Marmalade SDK] Compiling your extension for supporting iOS 64-bit

When deploying a Marmalade App to AARCH64 (iOS 64-bit support), it is also necessary to re-compile its native extensions.
Else, “ld” will ignore the whole extension and warn us about the fact.
In order to recompile the iOS extension, you are forced to use a Mac. This can be an impediment if you use Marmalade under Windows. The steps you basically need are

1.- Download and install Marmalade SDK for Mac
2.- If you are Windows user, release your license on Windows Marmalade Hub
3.- Activate your license in Mac Marmalade Hub
4.- Copy the whole extension’s folder from Windows to your mac
5.- Right-click on the extension’s .mkb for iphone (extensionName_iphone.mkb), select “Open with”. There will be two options: Mkb (default), and Mkb (7.4.3), choose the second one. Note that the numbers may change in future Marmalade versions
6.- A shell command-prompt will appear, and will attempt to compile the extension. Once completed, make sure that file
is present. There should be also two folders with names finishing in _iphone_scons_aarch64 and _iphone_iphone_xcode. If that’s not the case, go to step 6b 🙂
6b.- [Optional] Open the extension Xcode project (it is located inside build_extName_iphone_iphone_xcode folder), go to Build settings, and select “Latest iOS SDK” (mine is 8.2 in this moment), and include “arm64” inside Valid architectures. This is explained in more depth in this document.
7.- Once process is complete, you can copy your extension folder back to your usual Marmalade installation (either under Windows or Mac), and recompile the whole App (including extension) to AARCH64 in iOS-fat mode. More info in the previous post 🙂

Sorry for the little mess going on here!! Hope it helps someone!!

Marmalade Mac SDK – Opening a project from existing code

Sometimes things are so obvious, that we find them difficult.

It took me 20 minutes to guess how to open a Marmalade project (.mkb file) in a Mac laptop.
When double-clicking the .mkb, it asked me about which program to use to open that file. (the “Select application, Cancel, Search in App Store”…). So i had to do the following:

1.- Open a terminal (Ctrl+Space, then write “Terminal”).

2.- To make sure that mkb.py python script is in the current pathname, write “mkb –help”. If you get a long list of available options, then the script is correctly placed. If not, see the end of this post

3.- Change to the project’s directory; Where the .mkb is. (in my case: “cd /Users/user/Desktop/MyProject”)

4.- write “mkb MyProject.mkb”. Some Marmalade resources may be downloaded, then Xcode is automatically launched to start working with the project. Additionally, a “build_xxx” directory should be created inside the “MyProject” directory. Inside, there is an .xcodeproj file that you can double-click to open the project with Xcode from now on.

As silly as that 🙂
Hope it helps

* If step 2 fails and you get “command not found”, you should add the Marmalade path to your current system PATH variable.In a terminal, write:

export PATH=/Developer/Marmalade/6.1/s3e/bin:$PATH

to check if all went fine:

echo $PATH

the PATH value should appear. it should have “/Developer/Marmalade/6.1/s3e/bin” in the beginning, and more pathnames separated by “:”.