Super Starter crashes on "Add Image"

After a fresh install of the ionic starter app, I tried to upload a picture from my photo library and the app crashes.

What “the starter app” are you talking about?
How are you testing?
What is you ‘Ionic Info’ output?

Here’s my ionic info:

global packages:

@ionic/cli-plugin-proxy : 1.3.2
@ionic/cli-utils        : 1.5.0
Cordova CLI             : 7.0.1
Ionic CLI               : 3.5.0

local packages:

@ionic/app-scripts              : 2.0.2
@ionic/cli-plugin-cordova       : 1.4.1
@ionic/cli-plugin-ionic-angular : 1.3.2
Cordova Platforms               : ios 4.4.0
Ionic Framework                 : ionic-angular 3.5.3

System:

Node       : v8.0.0
OS         : macOS Sierra
Xcode      : Xcode 8.3.3 Build version 8E3004b
ios-deploy : 1.9.1
ios-sim    : 6.0.0
npm        : 5.0.0

I followed the Ionic Tutorial http://ionicframework.com/docs//intro/tutorial/. After running "ionic start myApp super”, it creates an app which I refer to as the starter app. I added an iOS platform, built the code and loaded it onto my phone which is an iPhone 7 running iOS 10.3.3. The app works fine except for when I try to add an image to the “New Item” page that is generated in the starter app. At this point the app crashes and goes to the home screen.

Thanks!

There are multiple starters available, you chose the “super” starter.

Can you select an image from the camera directly instead of gallery?

Post your package.json content please.

That’s correct, this is the super starter. I can not select an image from my camera directly either.

When the app crashes I see the following In the debug console:

This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.

Below is my package.json:

{
    "name": "app_ionic",
    "version": "0.0.1",
    "author": "Ionic Framework",
    "homepage": "http://ionicframework.com/",
    "private": true,
    "scripts": {
        "clean": "ionic-app-scripts clean",
        "build": "ionic-app-scripts build",
        "lint": "ionic-app-scripts lint",
        "ionic:build": "ionic-app-scripts build",
        "ionic:serve": "ionic-app-scripts serve"
    },
    "dependencies": {
        "@angular/common": "4.1.3",
        "@angular/compiler": "4.1.3",
        "@angular/compiler-cli": "4.1.3",
        "@angular/core": "4.1.3",
        "@angular/forms": "4.1.3",
        "@angular/http": "4.1.3",
        "@angular/platform-browser": "4.1.3",
        "@angular/platform-browser-dynamic": "4.1.3",
        "@ionic-native/camera": "3.12.1",
        "@ionic-native/core": "3.12.1",
        "@ionic-native/google-maps": "3.12.1",
        "@ionic-native/splash-screen": "3.12.1",
        "@ionic-native/status-bar": "3.12.1",
        "@ionic/storage": "2.0.1",
        "@ngx-translate/core": "6.0.1",
        "@ngx-translate/http-loader": "0.0.3",
        "cordova-ios": "^4.4.0",
        "cordova-plugin-console": "^1.0.5",
        "cordova-plugin-device": "^1.1.4",
        "cordova-plugin-splashscreen": "^4.0.3",
        "cordova-plugin-statusbar": "^2.2.2",
        "cordova-plugin-whitelist": "^1.3.1",
        "ionic-angular": "3.5.3",
        "ionic-plugin-keyboard": "^2.2.1",
        "ionicons": "3.0.0",
        "rxjs": "5.4.0",
        "sw-toolbox": "3.6.0",
        "zone.js": "0.8.12"
    },
    "devDependencies": {
        "@ionic/app-scripts": "2.0.2",
        "@ionic/cli-plugin-cordova": "1.4.1",
        "@ionic/cli-plugin-ionic-angular": "1.3.2",
        "typescript": "2.3.4"
    },
    "description": "An Ionic project",
    "cordova": {
        "plugins": {
            "cordova-plugin-console": {},
            "cordova-plugin-device": {},
            "cordova-plugin-splashscreen": {},
            "cordova-plugin-statusbar": {},
            "cordova-plugin-whitelist": {},
            "ionic-plugin-keyboard": {}
        },
        "platforms": [
            "ios"
        ]
    }
}

You should run this:

ionic cordova plugin add cordova-plugin-camera --variable CAMERA_USAGE_DESCRIPTION="your usage message" --variable PHOTOLIBRARY_USAGE_DESCRIPTION="your usage message"

to fix this.

1 Like

You could also open up Xcode to add it manually in your plist file, but reinstalling it would be easier I guess.

(Interestingly the camera plugin isn’t installed yet - the super start has deficits here for the parts with native plugins. I created an issue for that: https://github.com/ionic-team/ionic-starter-super/issues/124)

Thanks, that fixed the issue for me.