NativeScript / nativescript-angular

Integrating NativeScript with Angular
http://docs.nativescript.org/angular/tutorial/ng-chapter-0
Apache License 2.0
1.21k stars 241 forks source link

Angular 10 and Nativescript 7 app crashes on iOS #2264

Open vforv opened 4 years ago

vforv commented 4 years ago

Environment Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):

"dependencies": {
    "@angular/animations": "~10.1.2",
    "@angular/common": "~10.1.2",
    "@angular/compiler": "~10.1.2",
    "@angular/core": "~10.1.2",
    "@angular/forms": "~10.1.2",
    "@angular/platform-browser": "~10.1.2",
    "@angular/platform-browser-dynamic": "~10.1.2",
    "@angular/router": "~10.1.2",
    "@danvick/ngx-translate-nativescript-loader": "^2.0.0",
    "@nativescript/angular": "~10.1.0",
    "@nativescript/core": "~7.0.0",
    "@nativescript/firebase": "^11.0.0-rc.8",
    "@nativescript/theme": "~2.5.0",
    "@ngrx/effects": "^7.2.0",
    "@ngrx/entity": "^7.2.0",
    "@ngrx/store": "^7.2.0",
    "@ngrx/store-devtools": "^7.2.0",
    "@ngx-translate/core": "^11.0.1",
    "apkup": "^1.2.0",
    "nativescript-appversion": "^1.4.1",
    "nativescript-barcodescanner": "^3.4.1",
    "nativescript-fancyalert": "^3.0.6",
    "nativescript-feedback": "^1.3.7",
    "nativescript-geolocation": "^5.1.0",
    "nativescript-google-places-autocomplete-last-version": "^1.0.4",
    "nativescript-iqkeyboardmanager": "^1.5.1",
    "nativescript-open-app": "^0.2.0",
    "nativescript-phone": "^1.4.0",
    "nativescript-theme-core": "~1.0.4",
    "nativescript-ui-listview": "^9.0.2",
    "nativescript-ui-sidedrawer": "^9.0.3",
    "nativescript-vibrate": "^4.0.1",
    "ngrx-store-freeze": "^0.2.4",
    "reflect-metadata": "~0.1.12",
    "rxjs": "~6.6.0",
    "tslib": "^2.0.0",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.1001.2",
    "@angular/cli": "~10.1.2",
    "@angular/compiler-cli": "~10.1.2",
    "@nativescript/android": "7.0.0",
    "@nativescript/ios": "7.0.0",
    "@nativescript/schematics": "^10.1.0",
    "@nativescript/tslint-rules": "~0.0.5",
    "@nativescript/webpack": "~3.0.0",
    "@types/jasmine": "~3.5.0",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "^12.12.62",
    "codelyzer": "^6.0.0",
    "ghooks": "^2.0.4",
    "jasmine-core": "~3.6.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~5.0.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage-istanbul-reporter": "~3.0.2",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "protractor": "~7.0.0",
    "ts-node": "~8.3.0",
    "tslint": "~6.1.0",
    "typescript": "~4.0.2"
  },

Describe the bug

When I build on emulator, and device it works. When I build for device and open on device it open and close fast

here is video: https://streamable.com/u4dym2

To Reproduce

This commad is used to create build:

tns build ios --bundle --env.environment="prod" --env.uglify --env.aot --clean --release --for-device --provision YOUR PROVISIONING PROFILE

I tried this with brend new app same thing

New project generated with:

ng new --collection=@nativescript/schematics my-shared-app --shared

I tried with ns as well

When I do run on emulator like this:

tns run ios --bundle --env.environment="prod" --env.uglify --env.aot --clean it works

So I guess it is some bug with this part: --release --for-device

Expected behavior

Sample project

App should work as it working on emulator

timdoege commented 3 years ago

Looking through your plugins, I see some referring to versions that are not compatible with NS 7 - I would suggest at least these changes:

"nativescript-appversion": "^1.4.1" -> "@nativescript/appversion": "~2.0.0",

"nativescript-theme-core": "~1.0.4" -> "@nativescript/theme": "~3.0.0",

"nativescript-barcodescanner": "^3.4.1" -> "nativescript-barcodescanner": "~4.0.0",

"nativescript-iqkeyboardmanager": "^1.5.1" -> "@nativescript/iqkeyboardmanager": "~2.0.0",

(and fixing the places where they are used as well).

Not that this should work in a simulator, it just seems a bit odd that you can run the NS7 project with these old plugin versions, so I would start by updating them (and check the remaining ones, too).