iOS NativeScript权限错误生成EACCES

时间:2017-10-04 06:37:55

标签: ios nativescript angular2-nativescript

我正在尝试设置nativescript开发环境。我按照官方文件中描述的步骤进行操作。 Link

之后我使用

创建了一个新项目
tns create my-first-app --template tns-template-hello-world-ng

然后我使用以下命令

添加了iOS和Android平台
tns platform add ios
tns platform add android

执行时

tns run android
一切正常。模拟器正在启动,应用程序打开。

但是,在运行时

tns run ios

我收到以下错误:

Searching for Devices...
spawn EACCES

我已尝试更改应用目录

的权限
sudo chmod -R a+rwx /[AppFolder]
执行

sudo tns run ios

没有解决问题

编辑2017-10-5 回应Nikolai Tsonevs回答:

执行以下没有解决问题:

tns platform remove ios
npm cache clean --force
tns platform add ios
tns run ios

我的节点版本是:v8.4.0 我的npm版本是:5.4.2

我还执行以下操作与你分享输出(假设,Nikolai意味着ios而不是android):

tns platform remove ios
tns platform add ios --log trace > out.txt

这是输出:

Loading extensions.
execFile: /usr/local/share/android-sdk/platform-tools/adb "help"
Exec uname -a 
 stdout: Darwin Antons-MBP.fritz.box 17.0.0 Darwin Kernel Version 17.0.0: Thu Aug 24 21:48:19 PDT 2017; root:xnu-4570.1.46~2/RELEASE_X86_64 x86_64

 stderr: 
Exec npm -v 
 stdout: 5.4.2

 stderr: 
spawn: java "-version"
Exec node-gyp -v 
 stdout:  
 stderr: /bin/sh: node-gyp: command not found

Error while executing node-gyp -v: Command failed: node-gyp -v
/bin/sh: node-gyp: command not found

Exec xcodebuild -version 
 stdout: Xcode 9.0
Build version 9A235

 stderr: 
Exec gem which xcodeproj 
 stdout:  
 stderr: ERROR:  Can't find ruby library file or shared library xcodeproj

Error while executing gem which xcodeproj: Command failed: gem which xcodeproj
ERROR:  Can't find ruby library file or shared library xcodeproj

Exec pod --version 
 stdout:  
 stderr: /bin/sh: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: bad interpreter: No such file or directory

Error while executing pod --version: Command failed: pod --version
/bin/sh: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: bad interpreter: No such file or directory

Exec '/usr/local/share/android-sdk/platform-tools/adb' version 
 stdout: Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android
Installed as /usr/local/share/android-sdk/platform-tools/adb

 stderr: 
spawn: /usr/local/share/android-sdk/emulator/emulator "-help"
Result when throw error is false:
{ stdout: 'Android Emulator usage: emulator [options] [-qemu args]\n  options:\n    -list-avds                     list available AVDs\n    -sysdir <dir>                  search for system disk images in <dir>\n    -system <file>                 read initial system image from <file>\n    -vendor <file>                 read initial vendor image from <file>\n    -writable-system               make system & vendor image writable after \'adb remount\'\n    -datadir <dir>                 write user data into <dir>\n    -kernel <file>                 use specific emulated kernel\n    -ramdisk <file>                ramdisk image (default <system>/ramdisk.img\n    -image <file>                  obsolete, use -system <file> instead\n    -initdata <file>               same as \'-init-data <file>\'\n    -data <file>                   data image (default <datadir>/userdata-qemu.img\n    -logcat-output <file>          output file of logcat(default none)\n    -partition-size <size>         system/data partition size in MBs\n    -cache <file>                  cache partition image (default is temporary file)\n    -cache-size <size>             cache partition size in MBs\n    -no-cache                      disable the cache partition\n    -nocache                       same as -no-cache\n    -sdcard <file>                 SD card image (default <datadir>/sdcard.img\n    -snapstorage <file>            file that contains all state snapshots (default <datadir>/snapshots.img)\n    -no-snapstorage                do not mount a snapshot storage file (this disables all snapshot functionality)\n    -snapshot <name>               name of snapshot within storage file for auto-start and auto-save (default \'default-boot\')\n    -no-snapshot                   perform a full boot and do not auto-save, but qemu vmload and vmsave operate on snapstorage\n    -no-snapshot-save              do not auto-save to snapshot on exit: abandon changed state\n    -no-snapshot-load              do not auto-start from snapshot: perform a full boot\n    -snapshot-list                 show a list of available snapshots\n    -no-snapshot-update-time       do not do try to correct snapshot time on restore\n    -wipe-data                     reset the user data image (copy it from initdata)\n    -avd <name>                    use a specific android virtual device\n    -skindir <dir>                 search skins in <dir> (default <system>/skins)\n    -skin <name>                   select a given skin\n    -no-skin                       deprecated: create an AVD with no skin instead\n    -noskin                        same as -no-skin\n    -memory <size>                 physical RAM size in MBs\n    -cores <number>                Set number of CPU cores to emulator\n    -accel <mode>                  Configure emulation acceleration\n    -no-accel                      Same as \'-accel off\'\n    -ranchu                        Use new emulator backend instead of the classic one\n    -engine <engine>               Select engine. auto|classic|qemu2\n    -netspeed <speed>              maximum network download/upload speeds\n    -netdelay <delay>              network latency emulation\n    -netfast                       disable network shaping\n    -code-profile <name>           enable code profiling\n    -show-kernel                   display kernel messages\n    -shell                         enable root shell on current terminal\n    -no-jni                        disable JNI checks in the Dalvik runtime\n    -nojni                         same as -no-jni\n    -logcat <tags>                 enable logcat output with given tags\n    -no-audio                      disable audio support\n    -noaudio                       same as -no-audio\n    -audio <backend>               use specific audio backend\n    -radio <device>                redirect radio modem interface to character device\n    -port <port>                   TCP port that will be used for the console\n    -ports <consoleport>,<adbport> TCP ports used for the console and adb bridge\n    -onion <image>                 use overlay PNG image over screen\n    -onion-alpha <%age>            specify onion-skin translucency\n    -onion-rotation 0|1|2|3        specify onion-skin rotation\n    -dpi-device <dpi>              specify device\'s resolution in dpi (default 165)\n    -scale <scale>                 scale emulator window (deprecated)\n    -http-proxy <proxy>            make TCP connections through a HTTP/HTTPS proxy\n    -timezone <timezone>           use this timezone instead of the host\'s default\n    -dns-server <servers>          use this DNS server(s) in the emulated system\n    -cpu-delay <cpudelay>          throttle CPU emulation\n    -no-boot-anim                  disable animation for faster boot\n    -no-window                     disable graphical window display\n    -version                       display emulator version number\n    -report-console <socket>       report console port to remote socket\n    -gps <device>                  redirect NMEA GPS to character device\n    -shell-serial <device>         specific character device for root shell\n    -tcpdump <file>                capture network packets to file\n    -bootchart <timeout>           enable bootcharting\n    -charmap <file>                use specific key character map\n    -studio-params <file>          used by Android Studio to provide parameters\n    -prop <name>=<value>           set system property on boot\n    -shared-net-id <number>        join the shared network, using IP address 10.1.2.<number>\n    -nand-limits <nlimits>         enforce NAND/Flash read/write thresholds\n    -gpu <mode>                    set hardware OpenGLES emulation mode\n    -camera-back <mode>            set emulation mode for a camera facing back\n    -camera-front <mode>           set emulation mode for a camera facing front\n    -webcam-list                   lists web cameras available for emulation\n    -screen <mode>                 set emulated screen mode\n    -force-32bit                   always use 32-bit emulator\n    -selinux <disabled|permissive> Set SELinux to either disabled or permissive mode\n    -unix-pipe <path>              Add <path> to the list of allowed Unix pipes\n    -fixed-scale                   Use fixed 1:1 scale for the initial emulator window.\n    -wait-for-debugger             Pause on launch and wait for a debugger process to attach before resuming\n    -skip-adb-auth                 Skip adb authentication dialogue\n    -metrics-to-console            Enable usage metrics and print the messages to stdout\n    -metrics-to-file <file>        Enable usage metrics and write the messages into specified file\n\n     -qemu args...                 pass arguments to qemu\n     -qemu -h                      display qemu help\n\n     -verbose                      same as \'-debug-init\'\n     -debug <tags>                 enable/disable debug messages\n     -debug-<tag>                  enable specific debug messages\n     -debug-no-<tag>               disable specific debug messages\n\n     -help                         print this help\n     -help-<option>                print option-specific help\n\n     -help-disk-images             about disk images\n     -help-debug-tags              debug tags for -debug <tags>\n     -help-char-devices            character <device> specification\n     -help-environment             environment variables\n     -help-virtual-device          virtual device management\n     -help-sdk-images              about disk images when using the SDK\n     -help-build-images            about disk images when building Android\n     -help-all                     prints all help content\n\n',
  stderr: '',
  exitCode: 0 }
The result of checking is Android Emulator installed is:
- stdout: Android Emulator usage: emulator [options] [-qemu args]
  options:
    -list-avds                     list available AVDs
    -sysdir <dir>                  search for system disk images in <dir>
    -system <file>                 read initial system image from <file>
    -vendor <file>                 read initial vendor image from <file>
    -writable-system               make system & vendor image writable after 'adb remount'
    -datadir <dir>                 write user data into <dir>
    -kernel <file>                 use specific emulated kernel
    -ramdisk <file>                ramdisk image (default <system>/ramdisk.img
    -image <file>                  obsolete, use -system <file> instead
    -initdata <file>               same as '-init-data <file>'
    -data <file>                   data image (default <datadir>/userdata-qemu.img
    -logcat-output <file>          output file of logcat(default none)
    -partition-size <size>         system/data partition size in MBs
    -cache <file>                  cache partition image (default is temporary file)
    -cache-size <size>             cache partition size in MBs
    -no-cache                      disable the cache partition
    -nocache                       same as -no-cache
    -sdcard <file>                 SD card image (default <datadir>/sdcard.img
    -snapstorage <file>            file that contains all state snapshots (default <datadir>/snapshots.img)
    -no-snapstorage                do not mount a snapshot storage file (this disables all snapshot functionality)
    -snapshot <name>               name of snapshot within storage file for auto-start and auto-save (default 'default-boot')
    -no-snapshot                   perform a full boot and do not auto-save, but qemu vmload and vmsave operate on snapstorage
    -no-snapshot-save              do not auto-save to snapshot on exit: abandon changed state
    -no-snapshot-load              do not auto-start from snapshot: perform a full boot
    -snapshot-list                 show a list of available snapshots
    -no-snapshot-update-time       do not do try to correct snapshot time on restore
    -wipe-data                     reset the user data image (copy it from initdata)
    -avd <name>                    use a specific android virtual device
    -skindir <dir>                 search skins in <dir> (default <system>/skins)
    -skin <name>                   select a given skin
    -no-skin                       deprecated: create an AVD with no skin instead
    -noskin                        same as -no-skin
    -memory <size>                 physical RAM size in MBs
    -cores <number>                Set number of CPU cores to emulator
    -accel <mode>                  Configure emulation acceleration
    -no-accel                      Same as '-accel off'
    -ranchu                        Use new emulator backend instead of the classic one
    -engine <engine>               Select engine. auto|classic|qemu2
    -netspeed <speed>              maximum network download/upload speeds
    -netdelay <delay>              network latency emulation
    -netfast                       disable network shaping
    -code-profile <name>           enable code profiling
    -show-kernel                   display kernel messages
    -shell                         enable root shell on current terminal
    -no-jni                        disable JNI checks in the Dalvik runtime
    -nojni                         same as -no-jni
    -logcat <tags>                 enable logcat output with given tags
    -no-audio                      disable audio support
    -noaudio                       same as -no-audio
    -audio <backend>               use specific audio backend
    -radio <device>                redirect radio modem interface to character device
    -port <port>                   TCP port that will be used for the console
    -ports <consoleport>,<adbport> TCP ports used for the console and adb bridge
    -onion <image>                 use overlay PNG image over screen
    -onion-alpha <%age>            specify onion-skin translucency
    -onion-rotation 0|1|2|3        specify onion-skin rotation
    -dpi-device <dpi>              specify device's resolution in dpi (default 165)
    -scale <scale>                 scale emulator window (deprecated)
    -http-proxy <proxy>            make TCP connections through a HTTP/HTTPS proxy
    -timezone <timezone>           use this timezone instead of the host's default
    -dns-server <servers>          use this DNS server(s) in the emulated system
    -cpu-delay <cpudelay>          throttle CPU emulation
    -no-boot-anim                  disable animation for faster boot
    -no-window                     disable graphical window display
    -version                       display emulator version number
    -report-console <socket>       report console port to remote socket
    -gps <device>                  redirect NMEA GPS to character device
    -shell-serial <device>         specific character device for root shell
    -tcpdump <file>                capture network packets to file
    -bootchart <timeout>           enable bootcharting
    -charmap <file>                use specific key character map
    -studio-params <file>          used by Android Studio to provide parameters
    -prop <name>=<value>           set system property on boot
    -shared-net-id <number>        join the shared network, using IP address 10.1.2.<number>
    -nand-limits <nlimits>         enforce NAND/Flash read/write thresholds
    -gpu <mode>                    set hardware OpenGLES emulation mode
    -camera-back <mode>            set emulation mode for a camera facing back
    -camera-front <mode>           set emulation mode for a camera facing front
    -webcam-list                   lists web cameras available for emulation
    -screen <mode>                 set emulated screen mode
    -force-32bit                   always use 32-bit emulator
    -selinux <disabled|permissive> Set SELinux to either disabled or permissive mode
    -unix-pipe <path>              Add <path> to the list of allowed Unix pipes
    -fixed-scale                   Use fixed 1:1 scale for the initial emulator window.
    -wait-for-debugger             Pause on launch and wait for a debugger process to attach before resuming
    -skip-adb-auth                 Skip adb authentication dialogue
    -metrics-to-console            Enable usage metrics and print the messages to stdout
    -metrics-to-file <file>        Enable usage metrics and write the messages into specified file

     -qemu args...                 pass arguments to qemu
     -qemu -h                      display qemu help

     -verbose                      same as '-debug-init'
     -debug <tags>                 enable/disable debug messages
     -debug-<tag>                  enable specific debug messages
     -debug-no-<tag>               disable specific debug messages

     -help                         print this help
     -help-<option>                print option-specific help

     -help-disk-images             about disk images
     -help-debug-tags              debug tags for -debug <tags>
     -help-char-devices            character <device> specification
     -help-environment             environment variables
     -help-virtual-device          virtual device management
     -help-sdk-images              about disk images when using the SDK
     -help-build-images            about disk images when building Android
     -help-all                     prints all help content


- stderr: 
Exec mono --version 
 stdout:  
 stderr: /bin/sh: mono: command not found

Error while executing mono --version: Command failed: mono --version
/bin/sh: mono: command not found

Exec git --version 
 stdout: git version 2.13.5 (Apple Git-94)

 stderr: 
Exec gradle -v 
 stdout:  
 stderr: /bin/sh: gradle: command not found

Error while executing gradle -v: Command failed: gradle -v
/bin/sh: gradle: command not found

Exec "/Library/Java/Home/bin/javac" -version 
 stdout:  
 stderr: javac 1.8.0_144

System information:
{ procInfo: 'nativescript/3.2.1',
  platform: 'darwin',
  os: 'Darwin Antons-MBP.fritz.box 17.0.0 Darwin Kernel Version 17.0.0: Thu Aug 24 21:48:19 PDT 2017; root:xnu-4570.1.46~2/RELEASE_X86_64 x86_64\n',
  shell: '/bin/bash',
  dotNetVer: null,
  procArch: 'x64',
  nodeVer: 'v8.4.0',
  npmVer: '5.4.2',
  javaVer: '1.8.0',
  nodeGypVer: null,
  xcodeVer: 'Xcode 9.0\nBuild version 9A235\n',
  xcodeprojGemLocation: null,
  itunesInstalled: true,
  cocoapodVer: null,
  adbVer: 'Android Debug Bridge version 1.0.39',
  emulatorInstalled: true,
  monoVer: null,
  gitVer: '2.13.5 (Apple Git-94)',
  gradleVer: null,
  javacVersion: '1.8.0_144' }
Looking for project in '/Users/antonrhein/Documents/NativeScript/my-first-app'
Project directory is '/Users/antonrhein/Documents/NativeScript/my-first-app'.
Exec which xcodebuild 
 stdout: /usr/bin/xcodebuild

 stderr: 
Exec xcodebuild -version | head -n 1 | sed -e 's/Xcode //' 
 stdout: 9.0

 stderr: 
Initializing analytics statuses.
Analytics statuses:  { TrackFeatureUsage: 'disabled', TrackExceptions: 'disabled' }
Creating NativeScript project for the ios platform
Path: /Users/antonrhein/Documents/NativeScript/my-first-app/platforms/ios
Package: org.nativescript.myfirstapp
Name: myfirstapp
Copying template files...
[0G  [96m◜ [90mInstalling tns-ios[0m[0G  [96m◠ [90mInstalling tns-ios[0m[0G  [96m◝ [90mInstalling tns-ios[0m[0G  [96m◞ [90mInstalling tns-ios[0m[0G  [96m◡ [90mInstalling tns-ios[0m[0G  [96m◟ [90mInstalling tns-ios[0m[0G  [96m◜ [90mInstalling tns-ios[0m[0G  [96m◠ [90mInstalling tns-ios[0m[0G  [96m◝ [90mInstalling tns-ios[0m[0G  [96m◞ [90mInstalling tns-ios[0m[0G  [96m◡ [90mInstalling tns-ios[0m[0G  [96m◟ [90mInstalling tns-ios[0m[0G  [96m◜ [90mInstalling tns-ios[0m[0G  [96m◠ [90mInstalling tns-ios[0m[0G  [96m◝ [90mInstalling tns-ios[0mExec npm view tns-ios  dist-tags --json 
 stdout: {
  "latest": "3.2.0",
  "next": "3.2.0-2017-9-5-2",
  "rc": "3.2.0-rc-2017-9-5-2"
}

 stderr: 
Using version 3.2.0. 
Installing  tns-ios
spawn: npm "install" "tns-ios@3.2.0" "--silent" "--save-exact" "--save"
[0G  [96m◞ [90mInstalling tns-ios[0m[0G  [96m◡ [90mInstalling tns-ios[0m[0G  [96m◟ [90mInstalling tns-ios[0m[0G  [96m◜ [90mInstalling tns-ios[0m[0G  [96m◠ [90mInstalling tns-ios[0m[0G  [96m◝ [90mInstalling tns-ios[0m[0G  [96m◞ [90mInstalling tns-ios[0m[0G  [96m◡ [90mInstalling tns-ios[0m[0G  [96m◟ [90mInstalling tns-ios[0m[0G  [96m◜ [90mInstalling tns-ios[0m[0G  [96m◠ [90mInstalling tns-ios[0m[0G  [96m◝ [90mInstalling tns-ios[0m[0G  [96m◞ [90mInstalling tns-ios[0m[0G  [96m◡ [90mInstalling tns-ios[0m[0G  [96m◟ [90mInstalling tns-ios[0m[0G  [96m◜ [90mInstalling tns-ios[0m[0G  [96m◠ [90mInstalling tns-ios[0m[0G  [96m◝ [90mInstalling tns-ios[0m[0G  [96m◞ [90mInstalling tns-ios[0m[0G  [96m◡ [90mInstalling tns-ios[0m[0G  [96m◟ [90mInstalling tns-ios[0m[0G  [96m◜ [90mInstalling tns-ios[0m[0G  [96m◠ [90mInstalling tns-ios[0m[0G  [96m◝ [90mInstalling tns-ios[0m[0G  [96m◞ [90mInstalling tns-ios[0m[0G  [96m◡ [90mInstalling tns-ios[0m[0G  [96m◟ [90mInstalling tns-ios[0m[0G  [96m◜ [90mInstalling tns-ios[0m[0G  [96m◠ [90mInstalling tns-ios[0m[0G  [96m◝ [90mInstalling tns-ios[0m[0G  [96m◞ [90mInstalling tns-ios[0m[0G  [96m◡ [90mInstalling tns-ios[0m[0G  [96m◟ [90mInstalling tns-ios[0m[0G  [96m◜ [90mInstalling tns-ios[0m[0G  [96m◠ [90mInstalling tns-ios[0m[0G  [96m◝ [90mInstalling tns-ios[0m[0G  [96m◞ [90mInstalling tns-ios[0m[0G  [96m◡ [90mInstalling tns-ios[0m[0G  [96m◟ [90mInstalling tns-ios[0m[0G  [96m◜ [90mInstalling tns-ios[0m[0G  [96m◠ [90mInstalling tns-ios[0m[0G  [96m◝ [90mInstalling tns-ios[0m[0G  [96m◞ [90mInstalling tns-ios[0m[0G  [96m◡ [90mInstalling tns-ios[0m+ tns-ios@3.2.0
added 1 package in 2.314s
spawn: npm "install" "tns-ios@3.2.0" "--silent" "--save-exact" "--save" "--json" "--dry-run" "--prefix" "/Users/antonrhein/Documents/NativeScript/my-first-app"
[0G  [96m◟ [90mInstalling tns-ios[0m[0G  [96m◜ [90mInstalling tns-ios[0m[0G  [96m◠ [90mInstalling tns-ios[0m[0G  [96m◝ [90mInstalling tns-ios[0m[0G  [96m◞ [90mInstalling tns-ios[0m[0G  [96m◡ [90mInstalling tns-ios[0m[0G  [96m◟ [90mInstalling tns-ios[0m[0G  [96m◜ [90mInstalling tns-ios[0m[0G  [96m◠ [90mInstalling tns-ios[0m[0G  [96m◝ [90mInstalling tns-ios[0m[0G  [96m◞ [90mInstalling tns-ios[0m[0G  [96m◡ [90mInstalling tns-ios[0m[0G  [96m◟ [90mInstalling tns-ios[0m[0G  [96m◜ [90mInstalling tns-ios[0m[0G  [96m◠ [90mInstalling tns-ios[0m[0G  [96m◝ [90mInstalling tns-ios[0m[0G  [96m◞ [90mInstalling tns-ios[0m[0G  [96m◡ [90mInstalling tns-ios[0m[0G  [96m◟ [90mInstalling tns-ios[0mFound shared scheme at xcschemeFilePath, renaming to match project name.
Checkpoint 0
Checkpoint 1
Checkpoint 2
[0G  [96m◜ [90mInstalling tns-ios[0m[0G  [96m◠ [90mInstalling tns-ios[0m[0G  [96m◝ [90mInstalling tns-ios[0m[0G  [96m◞ [90mInstalling tns-ios[0m[0G  [96m◡ [90mInstalling tns-ios[0m[0G  [96m◟ [90mInstalling tns-ios[0m[0G  [96m◜ [90mInstalling tns-ios[0m[0G  [96m◠ [90mInstalling tns-ios[0m[0G  [96m◝ [90mInstalling tns-ios[0m[0G  [96m◞ [90mInstalling tns-ios[0m[0G  [96m◡ [90mInstalling tns-ios[0m[0G  [96m◟ [90mInstalling tns-ios[0m[0G  [96m◜ [90mInstalling tns-ios[0m[0G  [96m◠ [90mInstalling tns-ios[0m[0G  [96m◝ [90mInstalling tns-ios[0m[0G  [96m◞ [90mInstalling tns-ios[0m[0G  [96m◡ [90mInstalling tns-ios[0m[0G  [96m◟ [90mInstalling tns-ios[0mExec npm uninstall tns-ios --save 
 stdout: removed 1 package in 0.473s

 stderr: 
[0G[2KProject successfully created.

编辑:2017-10-06 根据尼古拉的回答,我做了以下事情:

npm i -g node-gyp
sudo gem install xcodeproj
brew install mono
brew install gradle (was not installed as well)
brew install cocoapods
brew link -overwrite cocoapods (brew was complaining about link issues)
之后我又删除了iOS并添加了它。这也不起作用。

我执行了以下操作以获取更多信息:

tns run ios --log trace > run.txt

以下是相关输出:

Looking for project in '/Users/antonrhein/Documents/NativeScript/my-first-app'
Project directory is '/Users/antonrhein/Documents/NativeScript/my-first-app'.
Exec which xcodebuild 
 stdout: /usr/bin/xcodebuild

 stderr: 
Exec xcodebuild -version | head -n 1 | sed -e 's/Xcode //' 
 stdout: 9.0

 stderr: 
Validate options for platform: iOS
Initializing analytics statuses.
Analytics statuses:  { TrackFeatureUsage: 'disabled', TrackExceptions: 'disabled' }
Searching for devices...
startLookingForDevices; platform is iOS
Starting to look for iOS devices.
Error while checking for devices. { Error: spawn EACCES
    at _errnoException (util.js:1041:11)
    at ChildProcess.spawn (internal/child_process.js:325:11)
    at exports.spawn (child_process.js:493:9)
    at IOSDeviceLibStdioHandler.startReadingData (/usr/local/lib/node_modules/nativescript/node_modules/ios-device-lib/ios-device-lib-stdio-handler.js:18:18)
    at new IOSDeviceLib (/usr/local/lib/node_modules/nativescript/node_modules/ios-device-lib/index.js:36:34)
    at IOSDeviceOperations.<anonymous> (/usr/local/lib/node_modules/nativescript/lib/common/mobile/ios/device/ios-device-operations.js:55:34)
    at Generator.next (<anonymous>)
    at /usr/local/lib/node_modules/nativescript/lib/common/mobile/ios/device/ios-device-operations.js:13:71
    at Promise (<anonymous>)
    at __awaiter (/usr/local/lib/node_modules/nativescript/lib/common/mobile/ios/device/ios-device-operations.js:9:12) code: 'EACCES', errno: 'EACCES', syscall: 'spawn' }
Exec ps cax | grep launchd_sim 
 stdout:  4864   ??  R      0:00.17 launchd_sim

 stderr: 
Found device with identifier '9B7746B9-D04D-4C57-9158-4A5A28D5AA08'
startLookingForDevices; platform is iOS

2 个答案:

答案 0 :(得分:6)

感谢尼古拉的极大帮助,我终于可以解决这个问题了。

在NativeScript节点模块上未正确设置的权限,因此我执行了以下操作:

chmod -R +x /usr/local/lib/node_modules/nativescript/

答案 1 :(得分:3)

您可以尝试使用

清理npm缓存吗?
  1. npm cache clean

  2. 使用tns platform remove ios

  3. 删除平台
  4. 使用tns platform add ios

  5. 再次添加
  6. 使用tns run ios

  7. 启动应用程序

    如果问题仍然存在,您是否可以再次使用tns platform remove ios删除平台并重新添加 tns platform add android --log trace > out.txt 然后你可以分享out.txt文件的输出,这可能有助于进一步调查问题。另外,请提供有关nodenpm版本的信息。

    编辑:

    嗨@Anton由于提供的日志,我发现有几个错误,在添加平台时会抛出。第一个是找不到node-gyp插件。要解决此问题,您有两种选择。

    第一个是使用npm install node-gyp --g手动安装插件。如果这不能解决问题,我建议用npm cache clear清除npm缓存并降级到最新的LTS节点版本6.11.4。

    关于其他两个错误,请确保您已安装xcodeprojcocoapods。如果不按照以下方式安装它们:sudo gem install xcodeproj sudo gem install cocoapods