一.构建Xcode

1.有一台Mac电脑(特别好的那种),用户必须是管理员

2.下载Laya软件,安装Node.js,

3.在终端输入npm install -g typescript,如果报错Error:13,意思是你权限不够,然后获得Root权限,输入sudo -i,如果让你输入密码

 

,(你输入了,看不见很正常,输完按确定就是了),获取root权限了 再输入npm install -g typescript(必须是管理员,否则获取不了

 

root权限),输入tsc -v 看到版本号就是正确的

4.项目在Xcode横竖屏的问题(默认是横屏),打开项目文件,Client/bin 通过一种文本编辑工具打开index.html,在前几行 <meta

 

name="laya" screenorientation ="landscape"/> 默认是landscape 横屏,如果要竖屏改为portrait,具体参照laya官方文档

5.在Laya工具栏,选择laya调试,点开二维码复制url

6.在工具栏,点击工具—app构建,Native版本后面有个download,下载了才能选择项目类型:Xcode IOS,应用名称就是软件名称,URL 就是上

 

一步复制的那个,其他参数可以默认,否则他默认的是一个laya官方示例

二.Xcode配置

1.进入导出路径 layabox/ios/layabox,双击后缀名是 .xcodeproj 就打开XCode了

2.证书 ios_development和ios_distribution导入到钥匙串里,选择系统的钥匙串

3.双击最上方的layabox 里面有设置Project和Targets选择Team ID这时候得添加一个AppleId,最好添加申请证书的AppleId,这样可以减少一些步骤,比如PP文件

4.在config.ini 把orientation=30(默认是30) 2:home键在下 4:hone键在上 8;home键在左 16:home键在右

5.可以使用真机调试(用手机连接IPhone手机,选择),也可以使用模拟器

三.二次开发

1.在ts中比如登录(这些方法都是固定的),在登录按钮的事件里写,如:

Var sData={type:”test”};
window[‘conchMarket’].login(JSON.stringfiy(sData),function(data)){
    //OC向你回调
Console.log(data);
}
  1. 在Xcdoe中

这个回调方法是在 Xcode项目里layabox/ios/LayaRuntime/iOS/include/PlatformInterface/LayaPlatformCallback.h中声明的,然后在LayaPlatformInterface的LP_Login中调用LayaPlatformCallback的LP_LoginCallback方法来实现OC调用TS,在MarketAppStore.mm文件填写向TS回调的代码,如登录:

-(void)LP_Login:(NSString)jsonParam{
[[LayaPlatformCallback GetInstance]] LP_LoginCallback:jsonParam];
}

四 对接渠道的API整合

 

 

init

初始化Market

conchMarket.init(JSON.stringify(sData),function(data));

login

登陆

conchMarket.login(JSON.stringify(sData),function(data));

logout

登出

conchMarket.logout(JSON.stringify(sData),function(data));

switchUser

切换用户

conchMarket.switchUser(JSON.stringify(sData),function(data));

enterPlatform

进入第三方的平台

conchMarket.enterPlatform(JSON.stringify(sData),function(data));

enterBBS

进入论坛

conchMarket.enterBBS(JSON.stringify(sData),function(data));

enterFeedback

反馈

conchMarket.enterFeedback(JSON.stringify(sData),function(data));

enterAccountMgr

进入账户管理

conchMarket.enterAccountMgr(JSON.stringify(sData),function(data));

authorize

授权

conchMarket.authorize(JSON.stringify(sData),function(data));

refreshToken

刷新token

conchMarket.refreshToken(JSON.stringify(sData),function(data));

recharge

充值

conchMarket.recharge(JSON.stringify(sData),function(data));

buyProps

购买道具

conchMarket.buyProps(JSON.stringify(sData),function(data));

setRechargeInfo

设置充值信息

conchMarket.setRechargeInfo(JSON.stringify(sData),function(data));

enterShareAndFeed

分享

conchMarket.enterShareAndFeed(JSON.stringify(sData),function(data));

enterInvite

邀请

conchMarket.enterInvite(JSON.stringify(sData),function(data));

getGameFriends

获得好友列表

conchMarket.getGameFriends(JSON.stringify(sData),function(data));

sendToDesktop

发送到桌面

conchMarket.sendToDesktop(JSON.stringify(sData),function(data));

sendMessageToPlatform

发送消息

conchMarket.sendMessageToPlatform(JSON.stringify(sData),function(data));

canSendToDesktop

能否pushicon

conchMarket.canSendToDesktop(JSON.stringify(sData),function(data));

openTopicCircle

打开话题圈

conchMarket.openTopicCircle(JSON.stringify(sData),function(data));