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.
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.