码迷,mamicode.com
首页 > 移动开发 > 详细

IOS使用C#预处理命令,多种SDK共存

时间:2015-03-14 00:57:52      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

当我们使用Unity接 91,XY助手等等SDK时候. 我们需要使用[DllImport("__Internal")] 来声明一个C++的方法调用.

不同的SDK总会有不同的方法. 我习惯是写成 XYSDK类,  Baidu91SDK类里面封装的各种[DllImport("__Internal")]声明的方法

问题就来了, 如果我们发布XY SDK,而91 SDK的方法并没有放在xcode工程里面. 所以造成编译不通过.我们就需要把91 C++封装好的方法放入工程当中.

我们可以使用预处理命令(来选择编译某些代码),这样就不需要发布XY,还要把91 C++封装好的方法放入到Xcode中编译啦

 

#define BaiDuSDK
//#define XYSDK
//如果我们需要发那个版本的SDK,就注释掉其他的#define.


using UnityEngine;
using System.Collections;


BaiDu91SDK
{
#if (BaiDuSDK)
    [DllImport("__Internal")]
    private static extern void 购买道具 ();
#endif

}

XYSDK
{
#if (XYSDK)
    [DllImport("__Internal")]
    private static extern void 打开悬浮窗口 ();
#endif
}

上面代码很简单  #define BaiDuSDK.  定义个预处理命令变量(它就是一个标记)

#if(BaiDuSDK){    //如果标记被定义

     //里面的代码将会被编译

 

这样就是实现代码选择编译O(∩_∩)O~

IOS使用C#预处理命令,多种SDK共存

标签:

原文地址:http://www.cnblogs.com/plateFace/p/4336427.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!