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()を「初期化」する方法はありますか。メソッドなので、「未定義」ではありませんか?