iOS Tutorial Local Mac Builder Installation

Status
Not open for further replies.
iOS compilation requires an Apple Mac computer. Developers have two options with B4i:
- Use a local Mac machine connected over the local network.
- Use our hosted builder rental service.

These instructions explain how to install the builder on a local Mac machine.

1. Download OpenJDK 19.0.1: https://jdk.java.net/archive/ (Mac/AArch64 for Arm based Mac or Mac/x64 for Intel based Mac).
2. Install Xcode 16: 3. You need to run Xcode at least once. Approve installation of additional components when asked.
4. Download and unzip the B4i-Builder.
5. Open a terminal and navigate to B4i-Builder folder.
6. Start it with:
B4X:
<path to java>/jdk-19.0.1.jdk/Contents/Home/bin/java-jar B4iBuildServer.jar
7. Install Apple Configurator from the app store.
8. Run Apple Configurator and select "Install Automation Tools" in the top left menu.
9. Set the builder IP address in the IDE under Tools - Build Server - Server Settings
10. You might be asked for a password during a build (codesign step). The password is 111111
Click on the "Always allow" button. This will be fixed in the next update.

Notes & Tips

-
By default ports numbers 51041 (http) and 51042 (https) are used.
- The firewall should be either disabled or allow incoming connections on these two ports.
- You can test that the server is running by going to the following link: http://<server ip>:51041/test
- You can kill the server with: http://<server ip>:51041/kill
- It is recommended to set your Mac server ip address to a static address. This can be done in your router settings or in the Mac under Network settings.
- A single Mac builder can serve multiple developers as long as they are all connected to the same local network.


Troubleshooting

BuildServer v1.02 includes a new test page which provides information about the server, including the SSL key ip address and the libraries versions.
You can access this page with: <Mac ip>:51041/test
 
Last edited:

fernandodotnet

Member
Licensed User
Longtime User
Thank you. I just followed a tutorial that tells the installation in paralellos with windows 7. I followed the steps and it worked. Was missing the part of the certificate that .cem. Entering the iOS Safari and installed. In short is now working. It would be nice to do a manual of the same functions and installation of B4A (android)
 

cooperlegend

Active Member
Licensed User
Longtime User
Hi Erel

Is there a minimum recommended spec for a local builder?
I have been using your remote service but now wish to buy myself an old Mac mini or MacBook to do this locally...

Please advise
 

holdemadvantage

Active Member
Licensed User
Longtime User
Hi , totally mac newbie but i got a macbook pro to try to compile locally, if i test the server in https://192.168.1.133:51042/test

i get

B4i Build Server
Build server is running.
Version: 1.02
Server time: 21:10:30
Mac SSL Key
Invalid key!!!
SSL port: 51042
h files
a files


What is the invalid key error please?
 

Alberto Iglesias

Well-Known Member
Licensed User
Longtime User
Hey Everybody, I have the version 1 of MacServer

Build server version 1:
-----------------------------------------------------------------

When I run the Bridge on iPhone, appears a message: "Please install a new version of B4i-Brigde" like this:

b4ibridge1.jpg


Where I can get the new one?

Thanks!

Alberto Iglesias
 

little3399

Active Member
Licensed User
Longtime User
Mayby U can rebuild the B4i-Bridge in IDE and reinstall it ... But U should upgrade to the
latest B4I version 1.5

upload_2015-1-3_16-51-45.png
 
Last edited:

Rokiu86

Member
Licensed User
Longtime User
Hi!

I followed the first post's steps, and I have a problem in the 5th step:

When I execute in the terminal:
java -jar B4iBuildServer.jar

I have next error:
main._process_globals (java line: 273)

java.lang.UnsupportedClassVersionError: anywheresoftware/b4j/object/ServerWrapper : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at b4j.example.main._process_globals(main.java:273)
at b4j.example.main.initializeProcessGlobals(main.java:260)
at b4j.example.main.main(main.java:27)

It seems a version problem of JDK, but I have V8 update 25 "(compilación 1.8.0_25-b17)" recently installed.

Should I change any path...?

I have seen similar error (Unsupported major.minor version 51.0) but in build process, not installation process.

Macbook pro mid 2009
Mavericks 10.9.5
Xcode 6.1.1

Thanks everybody. Nice day!
 

omidaghakhani1368

Well-Known Member
Licensed User
Longtime User
Thank you it's good.
I have a question.
I have user id for use mac builder.
Now i can install mac os in vmware and install java and xcode and b4ibuilderserver and run it and get successfully ip with port
I enter ip in Build Server\Server Setting but if anyone dont have user id also cannot use local mac os for compile?
 

omidaghakhani1368

Well-Known Member
Licensed User
Longtime User
The user id is not important with the local mac builder. You can use any id you like (though it is convenient to use the same one as the remote builder id).
Thank you for everything very very thanks
 

mohammad0611

Member
Licensed User
Longtime User
im get this error on compiling first proj

Parsing code. 0.00
Compiling code. 0.02
Compiling layouts code. 0.00
Compiling debugger engine code. 0.53
Building Xcode project 0.01
Sending data to remote compiler. Error
mobileprovision file not found.
 
Status
Not open for further replies.
Top