2014-06-23 51 views
0

我對Titanium Developer非常陌生。我分配了一個Titanium項目,使UI更改爲最新的ios外觀。當我運行App時,我總是會拋出像Ti.Android這樣的異常。Titanium Ti.Android未定義在ios

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

當前的應用程序運行沒有任何Android的錯誤只顯示錯誤未定義的鈦。 Android僅限於Ios。

我的麪糰Ti.Android是否嚴格限制在Android平臺上,或者對於iOS和Android都是嚴格的,否則它在最新版本中不推薦使用。

請幫忙。

+0

你怎麼能找到的iOS Android操作系統。把它寫成像'if(Titanium.Platform.name =='android'){Ti.Android .......'' – Swanand

+0

'這樣的條件。但是同樣的源碼是爲ios構建的,可能在老版本3.0中。 2。它也可以在應用商店中使用。我的目標是Titanium.Android是否在最新版本中被刪除。 – CoolMonster

回答

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

在使用任何平臺特定的模塊/功能之前,您應該首先檢查平臺。你可以在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()) { 

}