Steps and methods to build nodejs server on iPhone_node.js
1. To run on ios, compile jxcore
$ mkdir ~/jxcore
$ cd ~/jxcore
$ git clone https://github.com/jxcore/jxcore.git
$ cd ~/jxcore/jxcore
$ ./build_scripts/ios-compile.sh
If there is a problem with import which module not found, then install python which
through the following statementsudo easy_install tools/which-1.1.0-py2.7.egg
If other problems occur, you can refer to the prerequisites for compiling ios with jxcore and take corresponding measures.
https://github.com/jxcore/jxcore/blob/master/doc/HOW_TO_COMPILE.md
* GCC 4.2 or newer (for SpiderMonkey builds 4.7 )
* Python 2.6 or 2.7
* GNU Make 3.81 or newer
* libexecinfo (FreeBSD and OpenBSD only)
* for SpiderMonkey: 'which' python module (sudo easy_install tools/which-1.1.0-py2.7.egg)
2. Install jxcore on mac
$ ./configure
$ sudo make install
3. Create the cordova program. If cordova is not installed, you can install it yourself.
$ cordova create hello com.example.hello HelloWorld
$ cd hello
4. Download and install the jxcore-cordova plug-in
$ git clone https://github.com/jxcore/jxcore-cordova
Using jxcore-cordova’s template index.html
$ cp ./jxcore-cordova/sample/www/index.html ./www/
Copy the jxcore package compiled for running on ios in the first step
$ cp -r ~/jxcore/jxcore/out_ios/ios/bin jxcore-cordova/io.jxcore.node/
5. Add cordova’s ios platform
$ cordova platforms add ios
$ cordova plugin add jxcore-cordova/io.jxcore.node/
$ cordova build
$ cordova run ios
If the build error occurs, "C does not support default arguments"
Just removing the default value will usually solve the problem.
will
JXCORE_EXTERN(void)
JX_SetString(JXValue *value, const char *val, const int32_t length = 0);
Modify to
JXCORE_EXTERN(void)
JX_SetString(JXValue *value, const char *val, const int32_t length);
Just rebuild
6. You should be able to see the cordova running interface at this time.
7. Add nodejs server in Resources/jxcore_app/app.js
Add the following code at the end of app.js
function getIP() {
var os = require('os');
var nets = os.networkInterfaces();
console.log(nets);
for ( var a in nets) {
var ifaces = nets[a];
for (var o in ifaces) {
If (ifaces[o].family == "IPv4" && !ifaces[o].internal) { return ifaces[o].address; }
return null; }
var ip = getIP();
if (!ip) {
console.error("You should connect to a network!");
Return;
}
var http = require('http');
http.createServer(function(req, res) {
res.writeHead(200, { ‘Content-Type’: ‘text/plain’
});
var cur_client = "";
If(req.connection && req.connection.remoteAddress) {
console.log(req.connection.remoteAddress);
cur_client = req.connection.remoteAddress; } else if(req.headers) {
console.log("request header X-Forwarded-For");
console.log(req.headers['X-Forwarded-For']);
cur_client = req.headers['X-Forwarded-For']; cordova('log').call('client( ' cur_client ' ) come');
res.end('Hello ' cur_client ', I am server on iphone app(' ip '). ' Date.now() 'n');
}).listen(1337, ip);
console.log('Server running at http://' ip ':1337/');
Run the program, you can see the iPhone's IP in the xcode log information, and then you can browse the web through the web page.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Apple has finally lifted the covers off its new high-end iPhone models. The iPhone 16 Pro and iPhone 16 Pro Max now come with larger screens compared to their last-gen counterparts (6.3-in on the Pro, 6.9-in on Pro Max). They get an enhanced Apple A1

Earlier this year, Apple announced that it would be expanding its Activation Lock feature to iPhone components. This effectively links individual iPhone components, like the battery, display, FaceID assembly, and camera hardware to an iCloud account,

Earlier this year, Apple announced that it would be expanding its Activation Lock feature to iPhone components. This effectively links individual iPhone components, like the battery, display, FaceID assembly, and camera hardware to an iCloud account,

If you've already gotten your hands on a device from the Apple's iPhone 16 lineup — more specifically, the 16 Pro/Pro Max — chances are you've recently faced some kind of issue with the touchscreen. The silver lining is that you're not alone—reports

This article details the steps to register and download the latest app on the official website of Gate.io. First, the registration process is introduced, including filling in the registration information, verifying the email/mobile phone number, and completing the registration. Secondly, it explains how to download the Gate.io App on iOS devices and Android devices. Finally, security tips are emphasized, such as verifying the authenticity of the official website, enabling two-step verification, and being alert to phishing risks to ensure the safety of user accounts and assets.

Beats is known for launching audio products such as Bluetooth speakers and headphones, but in what can best be described as a surprise, the Apple-owned company has branched into making phone cases, starting with the iPhone 16 series. The Beats iPhone

Problem Description When calling Alipay EasySDK using PHP, after filling in the parameters according to the official code, an error message was reported during operation: "Undefined...

Binance App official installation steps: Android needs to visit the official website to find the download link, choose the Android version to download and install; iOS search for "Binance" on the App Store. All should pay attention to the agreement through official channels.
