2016-09-16 76 views
1

我收到了Angular2教程的下列错误。 TNS医生好,那么为什么会出现下面的错误?Nativescript Angular2教程导致错误

'tns livesync ios --emulator --watch 
Executing before-prepare hook from /Users//Documents/frontend/sample-Groceries/hooks/before-prepare/nativescript-dev-typescript.js 
Found peer TypeScript 1.8.10 
Project successfully prepared (ios) 
Executing before-livesync hook from /Users//Documents/frontend/sample-Groceries/hooks/before-livesync/nativescript-angular-sync .js 
Transferring project files... 
Successfully transferred all files. 
Applying changes... 
Successfully synced application org.nativescript.groceries on device D28D29C3-07B6-4B60-B4B0-711475C505DE. 
Executing before-watch hook from /Users//Documents/frontend/sample-Groceries/hooks/before-watch/nativescript-dev-typescript.js 
Found peer TypeScript 1.8.10 
Sep 17 07:34:37 Davids-iMac sampleGroceries[2934]: 1 0x105cd08d7 -[TNSRuntime executeModule:] 
Sep 17 07:34:37 Davids-iMac sampleGroceries[2934]: 2 0x10587b6d2 main 
Sep 17 07:34:37 Davids-iMac sampleGroceries[2934]: 3 0x109be668d start 
Sep 17 07:34:37 Davids-iMac sampleGroceries[2934]: 4 0x1 
Sep 17 07:34:37 Davids-iMac sampleGroceries[2934]: file:///app/tns_modules/utils/utils.js:130:72: JS ERROR TypeError: UIDevice.currentDevice is not a function. (In 'UIDevice.currentDevice()', 'UIDevice.currentDevice' is an instance of UIDevice) 
Sep 17 07:34:37 Davids-iMac com.apple.CoreSimulator.SimDevice.D28D29C3-07B6-4B60-B4B0-711475C505DE.launchd_sim[2849] (UIKitApplication:org.nativescript.groceries[0xe746][2934]): Service exited due to Segmentation fault: 11 
7:34:38 AM - Compilation complete. Watching for file changes. 

我正在使用新的8x Xcode。

回答

5

依赖性采样杂货项目的版本即将更新到最新版本NativeScript不过你可以打开你的package.json文件,并更改以下版本:

tns-ios": {"version": "2.3.0"}

"nativescript-angular": "1.0.0"

"tns-core-modules": "2.3.0"

您还应该确定hooks,node_modules,platforms文件夹已被删除。关于这一点,在Xcode 8中,现在有些方法是属性,并且在项目中使用本地代码时会导致问题,就像它在样本Groceries中一样。作为临时解决方案,您可以替换status-bar-util.tsgrocery-list.component.ts文件中的一些代码。

应用程序/共享/状态栏-util.ts

UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent;替换UIApplication.sharedApplication.statusBarStyle = UIStatusBarStyle.LightContent;

应用程序/杂货/杂货列表/杂货list.component.ts

cell.backgroundColor = UIColor.clearColor();替换为cell.backgroundColor = UIColor.clearColor;