Xamarin是否有#if或#ifdef来确定平台?

时间:2013-12-01 23:07:50

标签: cross-platform xamarin

例如,#ifdef iOS,#ifdef android等。如果有#if,那就更好了。

2 个答案:

答案 0 :(得分:12)

的iOS:

#if __MOBILE__
    Console.WriteLine ("__MOBILE__ is defined");
#endif 

#if __IOS__
    Console.WriteLine ("__IOS__ is defined");
#endif 

的Android:

#if __MOBILE__
    Console.WriteLine ("__MOBILE__ is defined");
#endif 

#if __ANDROID__
    Console.WriteLine ("__ANDROID__ is defined");
#endif

https://bugzilla.xamarin.com/show_bug.cgi?id=6459#c12

xamarin documentation

答案 1 :(得分:3)

是的,我不知道,如果Xamarin.iOS提供了自己的符号,因为我是Xamarin的新手并且我实际上不使用Xamarin.iOS,但你可以定义自己的符号。

右键单击项目,打开项目选项。在“编译器”设置中,您可以查找现有标志并创建添加新标志。 例如,以下是Xamarin.Android附带的符号:

DEBUG;__MOBILE__;__ANDROID__;

标识应在您定义后立即可用。