iOS Tutorial Local Mac Builder Installation

Status
Not open for further replies.
Edit: Apple Configurator 2 must be used when using a local Mac:
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. Install Java JDK 8: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
OpenJDK 11+ is also good (link is available here: https://www.b4x.com/android/forum/t...lest-way-to-distribute-ui-apps.99835/#content)

2. Install Xcode 14:
2.5. You need to run Xcode at least once. Approve installation of additional components when asked.
3. Download and unzip the B4i-Builder.
4. Open a terminal and navigate to B4i-Builder folder.
5. Run it with: java -jar B4iBuildServer.jar
6. Set the builder IP address in the IDE under Tools - Build Server - Server Settings
7. Install Apple configurator 2: https://www.b4x.com/android/forum/threads/installing-apps-with-apple-configurator-2.128397/#content
It is not possible to make an over the air installation with the local builder.
8. You might be asked for a password during a build (codesign step). The password is 111111

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. Note that you are not allowed to host builders for developers outside of your organization.


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:

ajk

Active Member
Licensed User
Longtime User
If I try to compile i get: Communication error: ConnectFailure.
when I send <IP>:51041/test on my local builder - test page shows immediately.

This fires randomly.Usually after longer breaks between compilations.
It seems like local Mac builder need a lot of time to wake up (time of response varies from 1 second to more then 10 seconds)
Even if I set auto-refresh of <IP>:51041/test in my browser (set it to e.g. 5 seconds - to "keep server alive") this do not change response time and sometimes I get ConnectFailulre message from local bulider
 
Last edited:

dnaci

Member
Licensed User
Longtime User
I made all the suggestions on the first page. B4i server settings: 192.168.2.154
Port number: 51041
But I am getting this error. 192.168.2.154 is in reserve on modem.
I also tried it with 51042.
I ping the mac everything is normal.
I can not connect to 192.168.2.154:51041/test with browser.
The configuration path is correct.
In the key.txt manual: 192.168.2.154 written. Please help me.

mac os: sierra 10.12.4
Xcode version: 8.3.2
Jdk version: 8u131

error.PNG

I applied:

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. Install Java JDK (7 or 8): http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2. Install Xcode 7.
3. Download and unzip the B4i-Builder.
4. Open a terminal and navigate to B4i-Builder folder.
5. Run it with: java -jar B4iBuildServer.jar
6. Set the builder IP address in the IDE under Tools - Build Server - Server Settings

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. Note that you are not allowed to host builders for developers outside of your organization.

Multiple IPs

When the server is started it takes the first IP address reported by the OS and uses it as its own IP address. You can see this address in the server messages.
In most cases this is the correct address. However if it is not the correct IP address then the server will not be usable.
In that case you need to explicitly set the correct address:
- Open the key folder and delete all files.
- Edit key.txt and change it to:
Code:
manual:<correct ip address>
For example:
manual:192.168.0.199

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
For example see the page of one of the online builders: http://63.135.170.51:51041/test

The SSL Key IP address must match the address that you are using in the IDE.
If you are running an older version of the build server then you can download v1.02 from the same link as before.
 

dnaci

Member
Licensed User
Longtime User
There is no error in the mac server log records. I am getting an error in the b4i compiler. I can not connect to the server address (192.168.2.154:51042/test or 192.168.2.154:51041/test) with a browser. I bought the hosted builder. Then I will test it.
 

Emme Developer

Well-Known Member
Licensed User
Longtime User
Hi! Sorry for the question, java server replace in any way vmware network? I have a virtualized mac os using vmware, and i'm able to Exchange file across os using a shared folder. It works since i start jar file: after start i don't longer see shared folder on mac. If i try to test server ip from Windows i can't reach it (it works if i try to test in mac os using safari), but i'm able to ping server from Windows in cmd. Thanks
 

Emme Developer

Well-Known Member
Licensed User
Longtime User
The builder is a regular program. It does set the default keychain during compilation though I don't think that it is related.
Thanks, you're right, i reboot mac os and it now works properly. I'm not able, anyway, to see server by Windows using ip:51041/test
 

aminoacid

Active Member
Licensed User
Longtime User
If the local mac build server has a private static IP address and I wish to access it via an Internet IP address via a port mapping on my router, do I need to enter the internet IP address into key.txt?

Also if I have installed the bridge app from the hosted server and want to switch over to my local build server, do I need to install a replacement bridge app from the local server?

The reason for my questions is because I can't get the local server setup to work when accessed from outside my LAN. I have the IDE installed on my laptop and when
I am travelling would like to access the build server from the internet just like the hosted server

Thanks !

<EDIT> After going over some of the posts I think the answer to my first question is YES. Ill try it out and update this post with the results
 
Last edited:

Almora

Active Member
Licensed User
Longtime User
hi..
Does xcode simulator cause problems in macbookAir(2014) 4 gb ram ?

**I'm sorry if the question is not here.
 
Last edited:

aminoacid

Active Member
Licensed User
Longtime User
hi..
Does xcode simulator cause problems in macbookAir(2014) 4 gb ram ?

**I'm sorry if the question is not here.

I'll bet it runs very very slow. I used to run it on a Mac Mini with 4GB RAM and that's how it performed - very slow but acceptable. I just switched over to a MacBook Pro with 16GB of RAM and the difference is stunning! Anyway, I don't think you will have any problems as such. Just poor performance running the simulator.
 
Status
Not open for further replies.
Top