[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.
Comments
JSON Source
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 open
test/TestApp/TestApp.xcodeproj
and 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.