[DAEMON-279] node-ios-device: Refactor to use N-API
| GitHub Issue | n/a |
|---|---|
| Type | Improvement |
| Priority | Critical |
| Status | Resolved |
| Resolution | Fixed |
| Resolution Date | 2019-07-01T18:33:50.000+0000 |
| Affected Version/s | n/a |
| Fix Version/s | Appc Daemon 2.3.0 |
| Components | node-ios-device |
| Labels | n/a |
| Reporter | Chris Barber |
| Assignee | Chris Barber |
| Created | 2019-06-05T03:08:12.000+0000 |
| Updated | 2019-07-01T18:33:50.000+0000 |
Description
node-ios-device uses nan (Native Abstractions for Node.js) and whenever there's a new major version of Node, something breaks.
To future-proof node-ios-device, we need to adopt Node's N-API.
PR: https://github.com/appcelerator/node-ios-device/pull/47
Testing Prerequisites
Xcode, Node, npm, and iOS devices, lots of iOS devices.Testing Steps
1. Check out the source and build:2. You should probably manually opentest/TestApp/TestApp.xcodeprojand build it to make sure the provisioning profiles are in order. 3. Run the unit tests:The tests will install the TestApp. Midway through the tests, it will print a message to launch the TestApp on device. You have 15 seconds. Go! 4. Run the CLI:Testing Cases
* Node.js ^8.12.0 and >= 10.2.0 * macOS Mojave and Catalina * 0 to 2 devices * iPhones, iPads, whatever you have * Unplug device while performing an action Keep an eye out for fatal errors: seg faults, mutex lock fails, libuv close errors, deadlocks, and other nasty issues.