Communicate with emulators, simulators and real devices
Provides api as:
/api/v1/devices/
- subscribe?type=simulator&name=iPhone%207%20100&info=Test&apiLevel=11.0&platform=ios
- unsubscribe?token=93B75F3B-0D2A-4873-8BCB-9F78B104BDB5
- ?query- returns devices.
- boot?query- starts devices.
- update?query
- refresh?query
Basically works with query of type IDevice exposed in mobile-devices-controller
export interface IDevice {
name: string,
token: string,
type: DeviceType,
platform: Platform,
status?: Status,
startedAt?: number,
busySince?: number,
pid?: number,
apiLevel?: string,
info?: string,
config?: any,
}
Install the node packages via:
$ npm install
$ ns-server|command |Purpose|
|:-------------------------------:|:-------------------:|
|--port|Specify port to run server.|
|DEVICE_CONTROLLER_SERVER_PORT|Specify port to run server as env variable|
|--mongodb|Should use mongodb storage.|
|--mongodb --startmongodb|Will start and use mongodb server.|
$ brew update$ brew install mongodb
#### Create database default folder
mkdir -p data/db
#### Run mongodb
mogod
brew uninstall telnet && truebrew install telnet && truebrew uninstall ios-webkit-debug-proxy && truebrew uninstall ideviceinstaller && truebrew uninstall libimobiledevice && truebrew install --HEAD libimobiledevicebrew link --overwrite libimobiledevice && truebrew install --HEAD ideviceinstallerbrew link --overwrite ideviceinstaller && truebrew install ios-webkit-debug-proxybrew uninstall carthage && true; brew install carthage plutil
$ sudo chmod 777 ./resources/start-mobile-devices-controller-server.sh
$ cp resources/nativescript.mobile.devices.controller.server.plist ~/Library/LaunchAgents
$ cd ~/Library/LaunchAgentsThis plist profile is setup for node8. In order to change node, open file and edit it
$ sudo chown nsbuilduser: nativescript.mobile.devices.controller.server.plist
$ launchctl load nativescript.mobile.devices.controller.server.plist
$ launchctl start nativescript.mobile.devices.controller.server.plist
`$3
$ sudo chown nsbuilduser: nativescript.mobile.devices.controller.server.plist
$ launchctl unload nativescript.mobile.devices.controller.server.plist
$ launchctl load nativescript.mobile.devices.controller.server.plist
$ launchctl start nativescript.mobile.devices.controller.server.plist
`$3
'Disabled '
'Enable 'To setup nativescript.mobile.devices.controller.server.service on linux
`https://gododblog.wordpress.com/2017/01/26/boot-start-script-by-systemd/
$ sudo cp resources/nativescript.mobile.devices.controller.server.service /usr/lib/systemd/user/
$ sudo chmod 664 /usr/lib/systemd/user/nativescript.mobile.devices.controller.server.service
$ sudo chmod 755 $HOME/git/mobile-devices-controller-server
$ systemctl --user daemon-reload
$ systemctl --user enable nativescript.mobile.devices.controller.server.service
$ systemctl --user start nativescript.mobile.devices.controller.server.service
$ systemctl --user status nativescript.mobile.devices.controller.server.service
RESULT:
● nativescript.mobile.devices.controller.server.service
Loaded: loaded (/usr/lib/systemd/user/nativescript.mobile.devices.controller.server.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-09-20 15:57:33 EEST; 1s ago
Main PID: 3288 (sh)
CGroup: /user.slice/user-1001.slice/user@1001.service/nativescript.mobile.devices.controller.server.service
├─3288 /bin/sh /home/nsbuilduser/git/ns-setup/infrastructure/start-shares-server-ubuntu.sh &
└─3289 node /home/nsbuilduser/.nvm/versions/node/v8.11.1/bin/shares-server --port 8700
`test:
`
$ curl localhost:8700/api/v1/devices
``