Unity APP接渠道IOS SDK的简单日志

这周一直在接某渠道的IOS版的SDK,因为之前从来没有接过,而且对IOS也不太熟悉,所以开始时还是有些忐忑的。不过还好,目前来说还算顺利,而且已经接了一家审核已经通过。今天在接第二家,但给的appid不对,所以连不上,不能继续往下测了,所以得点空来写下日志什么的,因为自己脑子不好使,所以还是记录一下为妙。

首先,当然是需要渠道提供的内容,包括APP注册他们渠道然后他们给你的APPID,然后就是SDK,通常里面会有资源bundle,framework之类的。

有些SDK里面会有unity3d的例子,或至少也会提供与Unity3D交互的脚本文件,如果有的话,那当然直接看下接口什么的调用就可以了,如果没有的话就得自己写了。
自己写,就得包括写Objective c的文件以及在Unity3D中[DllImport(“__Internal”)]注册接口才能使用。所以可能还得看些Objective C的相关语法之类的才能动手。
我接的第一家SDK就是需要自己写的,所以其实是用了两天时间在看OC相关的东西的,之后我会将具体接这家SDK的过程再记录一下。

好,在U3D中有了与SDK交互的接口,就可以先使用这些接口做些测试调用,输出什么的,保存到一个测试场景中。

在之后就是导出XCode工程。
一般SDK的接入文档都会有步骤教你怎么在XCode工程中进行设置,比如拖入什么库,什么framework,以及其他的设置什么的,只要按照他们的步骤搞就可以。

最后就是编译输出测试了。

我擦,好像也没什么难得。。。我为什么搞了一周~~~

好了,其实很多时候我们并不是只接一家SDK(我们不是腾讯-_-!),而不同的渠道提供的SDK的库文件、资源文件、相关配置等等都是有区别的,所以每次出了XCode工程之后需要逐个去拖什么文件、设置什么setting之类的,很容易让大家呵呵的。所以有前人就写了XUporter
这个工具是在你Build工程之后会执行将指定的文件或文件夹放入到XCode工程中,修改Info.plist等工作,所以比如当你要出渠道1的SDK版本的时候只需要将该SDK需要做的操作比如什么文件、文件夹、framework之类的写到.projmods中,工程Build完成后就按照这个配置来修改XCode工程。
需要提醒几点:
1. 那个github页有个”中文点这里“的链接,点击去的是原作者的博客,虽然都是中文的,但里面的例子什么的都是他早期的例子(包括下载代码下来之后中的例子),如果直接复制这些例子的话是会出错的,主要是少了几个属性,比如后来的 “plist”,所以还是要看下英文的说明比较好。
2. 如果你是在苹果机上用“文本编辑”工具修改这个配置文件的话~~~~我不知道是不是我机子输入法的问题,老是会将引号变为中文的引号(?)还是什么类型的引号,反正不是正常的引号,导致最后Build完成后开始执行配置的内容执行错误,所以这个一定要小心。因为这个配置文件是按JSOn的语法的,所以可以将内容复制到这个网站进行检验是否合格。
3. 这个工具默认是会将所有的.projmods配置文件都执行一遍的,所以如果你需要某个开关,自己去写吧。我现在是使用宏来设定的,不同的宏来读取不同的配置来执行。
4. 虽然工具挺好,但还是有些SDK的路子野,根本不能好好加载执行,比如我今天接的这个SDK,我怀疑这个SDK内部有写死的路径,所有内容必须在这个路径下面,否则根本找不到而编译出错,而XUporter目前的功能还没有将某个文件放到某个指定路径下的功能(可能要自己写了~~)所以,今天这个SDK只能是手动拖了。。唉~~~
5. 虽然工具挺好,但昨天出的版本在游戏中出了问题,就是NGUI的输入框。以前都是点击输入框,弹出IOS的键盘,然后键盘上会显示出原来输入框的内容,可以编辑修改。但昨天的版本中弹出键盘居然什么都没有显示,虽然也可以添加删除,但键盘太大已经挡住了游戏的输入框,所以这种情况是不允许的。我将出版本的流程一步一步还原,最后确定是使用了XUPorter的修改plist时导致的,但我修改了一下xprojmods配置文件中的东西,其实没有修改,就是把某个字符串替换了一下,而用眼睛看来这两个字符串其实是一毛一样的,然后出个版本,那个问题就消失了~~~

对于出多种SDK的版本,除了使用XUporter之外,就是备份XCODe的工程配置文件(可能只是*.xcodeproj显示包内容->project.pbxproj文件)了。虽然XCode工程需要使用SDK的库文件什么的,但也只是引用,并不是真的需要一份文件在工程中,所以只要你的SDK库文件固定保存在一个地方,然后每次出版本的时候覆盖一下配置文件就可以了。但好像听说这种方法也会什么问题,但简单的设置什么的应该是可以的吧。

最后来张图总结一下:

ssdf

发表评论

邮箱地址不会被公开。 必填项已用*标注

* Copy This Password *

* Type Or Paste Password Here *