我正在使用flashbuilder 4.6,Flex SDK 4.6爲iOS和Android創建移動應用程序。Flex 4.6編譯器檢查是否爲ios或Android編譯
我正在使用ANE進行Google雲消息傳遞,在編譯iOS版時我想跳過這一步。在flashbuilder中是否有任何定義來檢查它是否針對iOS或Android編譯,所以我可以跳過GCM導入。我不想每次編譯我的應用程序時更改我的編譯器定義。
另一種方法是使用的編譯參數的IF語句:
if (compiling for ios)
-define+=CONFIG::IOS,true
else
-define+=CONFIG::IOS,false
是否有可能做這樣的事情,或者是否有任何內置的編譯器定義,我可以在我的代碼使用?
編輯: 包管理器有3類:
- NotificationManager.as
- NotificationManagerIOS.as件(Singleton爲iOS,使用RemoteNotification自Air)
- NotificationManagerAndroid.as件(Singleton於Android,用途ANE不支持iOS)
編譯爲android很好,編譯爲iOS給出的錯誤從類的ANE。
的NotificationManager.as:
package managers {
public class NotificationManager {
public static function getInstance():NotificationManager {
var ios:Boolean = (Capabilities.manufacturer.indexOf("iOS") != -1);
if (ios) {
return NotificationManagerIOS.getInstance();
} else {
return NotificationManagerAndroid.getInstance();
}
}
}
}
我發現它有用的腳本生成過程與ANT,那麼腳本可以爲編譯器參數的值('CONFIG :: IOS,TRUE')根據需要。 –
也許這是一個選項,是的。謝謝。 – Marijn