2017-03-22 200 views
0

我试图关注this tutorial,其中概述了iOS上一个非常简单的相机应用程序。我可以使用ionic build ios成功构建,并且可以在XCode中打开它,而不会出现任何警告或错误。我能够部署到我的iPhone 7,并且它成功地显示了启动画面,之后它只显示一个空白的白屏。Ionic2科尔多瓦相机不工作

的src /页/家/ home.ts:

import { Component } from '@angular/core'; 
import { NavController } from 'ionic-angular'; 
import {Camera} from 'ionic-native'; 

@Component({ 
    selector: 'page-home', 
    templateUrl: 'home.html' 
}) 

export class HomePage { 
    public base64Image: string; 
    constructor(public navCtrl: NavController) { 
     this.base64Image = "https://placehold.it/150x150"; 
    } 

    public takePicture() { 
     Camera.getPicture({ 
       quality : 75, 
       destinationType : Camera.DestinationType.DATA_URL, 
       sourceType : Camera.PictureSourceType.CAMERA, 
       allowEdit : true, 
       encodingType: Camera.EncodingType.JPEG, 
       targetWidth: 300, 
       targetHeight: 300, 
       saveToPhotoAlbum: false 
     }).then(imageData => { 
       this.base64Image = "data:image/jpeg;base64," + imageData; 
     }, error => { 
       console.log("ERROR -> " + JSON.stringify(error)); 
     }); 
    } 
} 

的src /页/家/ home.html的:

<ion-header> 
    <ion-navbar> 
     <ion-title> 
      Ionic 2 Camera 
     </ion-title> 
     <ion-buttons end> 
      <button (click)="takePicture()"> 
       <ion-icon name="camera"></ion-icon> 
      </button> 
     </ion-buttons> 
    </ion-navbar> 
</ion-header> 

<ion-content padding> 
    <img src="{{ base64Image }}" /> 
</ion-content> 

ionic info输出:

Cordova CLI: 6.5.0 
Ionic Framework Version: 2.2.0 
Ionic CLI Version: 2.2.1 
Ionic App Lib Version: 2.2.0 
Ionic App Scripts Version: 1.1.4 
ios-deploy version: 1.9.1 
ios-sim version: 5.0.4 
OS: macOS Sierra 
Node Version: v7.5.0 
Xcode version: Xcode 8.2.1 Build version 8C1002 

我也试过添加n当我在XCode中时,在info.plist中的相机/照片隐私按键中有otes,但似乎没有帮助。使用

+0

你确定它与插件有关吗? '离子发球机'中的任何控制台错误? –

+0

呃很好的电话......它是说它无法找到离子原生。我只是尝试了离子本机/核心和@离子本机,但这也不起作用...我如何安装离子本机?这不应该是......原生的吗? – Lauren

+0

你已经安装了哪个离子版本的版本?你可以添加package.json来提问吗? –

回答

0

尝试

ionic serve -l

,以获得的console.log错误。 或者在模拟器的情况下,你可以使用remote debuggingChrome开发者工具