钛Ti.Android在ios中未定义

时间:2014-06-23 13:11:16

标签: ios titanium titanium-mobile

我是Titanium Developer的新手。我分配了一个Titanium项目,用于对最新的ios外观进行UI更改。当我运行App时,我总是会抛出异常,就像Ti.Android未定义一样。

以前版本的SDK是3.0.2 ,但我现在配置了最新版本3.2.3GA

当前在Android中没有任何错误的应用程序运行仅在IOS中显示错误为Ti.Android未定义。

我的面团Ti.Android是仅对Android平台是严格的,还是对于ios和android都是严格的,或者在最新版本中不推荐使用ios。

请帮忙。

2 个答案:

答案 0 :(得分:1)

正如文档中提到的Ti.Android仅适用于Android(Ti> 1.5,请参见右侧的徽标)http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.Android但是如果您尝试仅访问Ti.Android它应该工作并返回undefined,因为Ti没有Android属性。你不应该看到任何错误......,但你可能试图访问其他一些属性,例如显然无法工作的Ti.Android.XXX

答案 1 :(得分:1)

在使用任何特定于平台的模块/功能之前,您应首先检查平台。你可以在你的commonjs上添加一个函数来检查它。

var osname = Ti.Platform.osname;    

function isAndroid() {
    return osname === 'android';
}

function isIOS() {
    return osname === 'iphone' || osname === 'ipad';
}

function isMobileWeb() {
    return osname === "mobileweb";
}

在您的控制器上,您可以执行以下操作:

var fn = require('commonjs');

if (fn.isAndroid()) {
    //the things you do for android only
} else if (fn.isIOS() {

} else if (fn.isMobileWeb()) {

}