lua语言完成游戏逻辑,移植到ios 接入支付宝 完成lua和object-c的交互(各个模块独立)

这篇博客介绍了如何将使用Lua实现的游戏逻辑移植到iOS平台,并详细阐述了在接入支付宝过程中遇到的类型识别错误、openssl头文件链接问题以及Product类引用错误的解决方法。
摘要由CSDN通过智能技术生成

一直没有写博客的习惯,第一篇

lua语言完成游戏逻辑,移植到ios 接入支付宝 完成lua和object-c的交互(各个模块独立)

1.移植到iOS
     本游戏是用lua脚本开发的,是一种跨平台的语言,移植到iOS非常简单,打开  工程名/frameworks/runtime-src/proj.ios_mac下的xcodeproj文件即可,可能会出现缺少框架文件类似的问题,只需要按照错误提示添加相应的框架文件即可。


2.iOS接入支付宝 完成lua和object-c 的交互

     (1)问题
           因为我们游戏的逻辑主要是用Lua实现的(前面已经做过假设),而SDK是用Objective-C实现,所以这里我们需要解决Lua与Objective-C的交互问题,即最终希望达到的目标是,在Lua层面“调用”Objective-C的代码(注意这里的调用是加引号的,间接的调用),而当Objective-C层面收到SDK的回调,再通知Lua。我们知道,Lua并没有简单的方法直接和Objective-C交流,但是Lua可以通过Lua Binding和C/C++交流,而我们又知道,C++和Objective-C可以混编,即C++可以直接调用(这里调用没引号,是真的直接调用)Objective-C的代码。
     
     

根据上面的分析,我们可以用如下图表达我们的思路,我们这里将语言交互的过程分成了4个小部分:



整个语言交互的过程可以总结为:Lua调用Lua Binding的C++接口,C++接口调用混编的Objective-C接口,而Objective-C通过block形式的回调,将结果通知给C++,C++通过Lua的C API将最终结果返回给Lua这样一趟下来,就完成了Lua与Objective-C的整个交互过程。

     基本做法:
          可以分为几块:1⃣️ object-c接入支付宝(独立模块  与iOS项目接入支付宝完全一样)      
                                2⃣️lua层接收到游戏中传来的参数(独立模块     lua层的操作)     
                                 3⃣️lua层将接受到的参数传递到oc层(将lua层和oc层链接)


          总的来说就是  lua层接收到游戏中的与支付相关的参数  将参数通过luaoc传递到oc层  再发送给支付宝  支付成功后支付宝给后台服务器发送一个支付成功的消息  ,于此同时客户端也给服务器发送了一个支付的消息,在服务器端根据两个消息验证,验证成功 …    完成.


(2)接入支付宝
     1⃣️下载sdk 与demo
     2⃣️按照支付宝官方文档的步骤导入sdk   添加框架  添加路径
          1.导入adk和框架依赖库
          


     
     

     此配置适配ios9中对http访问的限制
     代替的简单做法:
          在info.plist文件中加入

<key>NSAppTransportSecurity</key>
     <dict>   
         <key>NSAllowsArbitraryLoads</key>< true />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值