1

Appacceleratorを使用してiOSおよびAndroid用のアプリケーションを構築しています。Androidでは完全に正常に動作しますが、iOSデバイスで開こうとするたびに「undefined」エラーがスローされます。奇妙なことに、適切なエラーメッセージが表示されません。

最初はビルドの問題だと思ったので、プロジェクトをクリーンアップしてから再ビルドしましたが、そうではありませんでした。また、ビルドフォルダーを手動で削除して再構築しましたが、それでも改善はありません。

コードは次のとおりです。

Rf.media.photo = {


key: 'photo',
  title: 'Photo',
  extension: 'jpg',
  type: 'image/jpeg',
  create: function(created) {

Ti.media.showCamera({
  animated: false,
  saveToPhotoGallery: false,
  showControls: true,
  success: function() { 

var name = Rf.util.timestamp() + '.' + Rf.media.photo.extension;
Rf.write_to_new_file(name, media_item.media, function(file) {
created(file);



 });
      },
      error:function(error)
        {
        // create alert
        var a = Titanium.UI.createAlertDialog({title:'Camera'});

        // set message
        if (error.code == Titanium.Media.NO_CAMERA)
        {
            a.setMessage('Please run this test on device');
        }
        else
        {
            a.setMessage('Unexpected error: ' + error.code);
        }

        // show alert
        a.show();
    },
    cancel:function()
    {

    },
});


 }
};

「写真」ボタンをクリックすると、このエラーメッセージが表示されます。

[WARN] Exception in event callback. {
line = 1;
message = "'undefined' is not an object (evaluating 'Ti.Media.showCamera')";
name = TypeError;
sourceId = 52935904;
sourceURL = "file://localhost/var/mobile/Applications/F8398B04-78C4-4A45-BEE0-30EE4BFEBB00/App.app/photo.js";

Ti.Media.showCamera()を「初期化」する方法はありますか。メソッドなので、「未定義」ではありませんか?

4

1 に答える 1

1

Ti.media.showCamera({...する必要がありますTi.Media.showCamera({...

また、成功コールバックでは、返されたメディアデータを受信するための引数はありません。media_item.media関数内write_to_new_file()にあるので、成功コールバックはおそらく次のようになります。success: function(media_item) {...

于 2012-09-05T22:40:01.020 に答える