通过react-native到cli工具【转载请注明来源】【关注微信公众号:wwwtangshuangnet】创建并开发一个react-native应转载请注明出处:www.tangshuang.net原创内容,盗版必究。用非常方便,甚至是一行命令解决所有开发中【本文受版权保护】本文作者:唐霜,转载请注明出处。的问题。应用开发的差不多之后,打算安装到【本文受版权保护】著作权归作者所有,禁止商业用途转载。手机上进行测试,现在这个版本也非常方便,转载请注明出处:www.tangshuang.net【版权所有】唐霜 www.tangshuang.net只需要手机连到xcode,直接run b【原创内容,转载请注明出处】本文作者:唐霜,转载请注明出处。uild就可以了,之前要改局域网配置,现【本文受版权保护】【关注微信公众号:wwwtangshuangnet】在也是免了,只要手机和电脑同处一个网络,未经授权,禁止复制转载。【版权所有】唐霜 www.tangshuang.net手机都可以方便的进行调试。
【未经授权禁止转载】【转载请注明来源】安装到手机上的坑
但当我们把手机连上电脑,直接执行run时【转载请注明来源】原创内容,盗版必究。,大部分都会报错,因为我们需要解决app原创内容,盗版必究。未经授权,禁止复制转载。lication的开发者账号问题。因为我转载请注明出处:www.tangshuang.net原创内容,盗版必究。们是测试,所以,不需要去付费,只需要在x【关注微信公众号:wwwtangshuangnet】本文作者:唐霜,转载请注明出处。code上添加登陆自己的开发者账号即可。【本文首发于唐霜的博客】【作者:唐霜】具体怎么操作呢?
【转载请注明来源】原创内容,盗版必究。【作者:唐霜】1)手机连到电脑,连接时,如果弹出警告框【未经授权禁止转载】转载请注明出处:www.tangshuang.net,选择信任该设备
【访问 www.tangshuang.n【原创不易,请尊重版权】未经授权,禁止复制转载。et 获取更多精彩内容】著作权归作者所有,禁止商业用途转载。【访问 www.tangshuang.n【访问 www.tangshuang.net 获取更多精彩内容】【转载请注明来源】et 获取更多精彩内容】【本文受版权保护】2)连接之后,进行开发者账号配置,如下图【版权所有】唐霜 www.tangshuang.net【原创内容,转载请注明出处】:
【版权所有,侵权必究】【访问 www.tangshuang.n【作者:唐霜】未经授权,禁止复制转载。et 获取更多精彩内容】原创内容,盗版必究。
第一次使用xcode的时候,并没有设置自未经授权,禁止复制转载。【访问 www.tangshuang.net 获取更多精彩内容】己的开发者账号,因此,要自己输入登陆,只【版权所有】唐霜 www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】需要在team那个下拉中找到最后一项,打【转载请注明来源】【版权所有】唐霜 www.tangshuang.net开账户面包添加即可,只要你登陆了,它会自本文版权归作者所有,未经授权不得转载。【关注微信公众号:wwwtangshuangnet】动下载开发者账号的一些信息。
【原创内容,转载请注明出处】【访问 www.tangshuang.n原创内容,盗版必究。本文版权归作者所有,未经授权不得转载。et 获取更多精彩内容】转载请注明出处:www.tangshua【本文受版权保护】著作权归作者所有,禁止商业用途转载。ng.net本文版权归作者所有,未经授权不得转载。3)Tests里面也要选择正确的账号,这著作权归作者所有,禁止商业用途转载。著作权归作者所有,禁止商业用途转载。里是坑,我一开始没有选这里,总是报错无法【作者:唐霜】原创内容,盗版必究。通过,它是在做test的时候使用的账号
未经授权,禁止复制转载。【本文首发于唐霜的博客】
4)在device里面选择你自己的手机作【原创不易,请尊重版权】本文作者:唐霜,转载请注明出处。为目标设备
未经授权,禁止复制转载。【本文首发于唐霜的博客】【访问 www.tangshuang.n【版权所有】唐霜 www.tangshuang.net【原创不易,请尊重版权】et 获取更多精彩内容】【关注微信公众号:wwwtangshua【原创内容,转载请注明出处】【版权所有】唐霜 www.tangshuang.netngnet】

5)点击界面左上角的三角形按钮运行构建,【原创不易,请尊重版权】未经授权,禁止复制转载。xcode会自动将应用安装到你的ipho未经授权,禁止复制转载。本文作者:唐霜,转载请注明出处。ne上,但是,第一次安装会有一个警告框弹【原创内容,转载请注明出处】【访问 www.tangshuang.net 获取更多精彩内容】出,这主要是因为我们通过普通开发者账号构【版权所有,侵权必究】【版权所有,侵权必究】建的应用没有证书,默认是不被信任的,你需本文作者:唐霜,转载请注明出处。著作权归作者所有,禁止商业用途转载。要回到你的iphone中,打开“sett【版权所有】唐霜 www.tangshuang.net【原创内容,转载请注明出处】ings-general- Profil【关注微信公众号:wwwtangshuangnet】【本文首发于唐霜的博客】es & Device Mana著作权归作者所有,禁止商业用途转载。【关注微信公众号:wwwtangshuangnet】gement”,点击你的开发者账号,进去【版权所有,侵权必究】著作权归作者所有,禁止商业用途转载。之后点击“Trust”字样的选项。信任之本文作者:唐霜,转载请注明出处。未经授权,禁止复制转载。后,你就可以在自己的iphone上打开刚【版权所有】唐霜 www.tangshuang.net未经授权,禁止复制转载。安装的应用。
【版权所有】唐霜 www.tangshu本文版权归作者所有,未经授权不得转载。本文版权归作者所有,未经授权不得转载。ang.net未经授权,禁止复制转载。【转载请注明来源】本文版权归作者所有,未经授权不得转载。安装一个Pre-release测试版本
但是react-native的cli工具转载请注明出处:www.tangshuang.net著作权归作者所有,禁止商业用途转载。仅默认提供了开发阶段的工具,即react【本文首发于唐霜的博客】未经授权,禁止复制转载。-native start工具,它的工作转载请注明出处:www.tangshuang.net【未经授权禁止转载】机制是,在你的设备(模拟器)上打开app本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.net之后,连接到你当前进行开发的电脑上,下载未经授权,禁止复制转载。【原创内容,转载请注明出处】jsbundle并解析执行,当你触发刷新【版权所有,侵权必究】本文版权归作者所有,未经授权不得转载。(ctrl+D)的时候,app内部通过s本文版权归作者所有,未经授权不得转载。【转载请注明来源】ocket发送消息给电脑,电脑上的服务会原创内容,盗版必究。【本文受版权保护】重新build一个jsbundle,并通【版权所有,侵权必究】【原创不易,请尊重版权】知app,app收到通知后,会重新下载这【版权所有,侵权必究】本文作者:唐霜,转载请注明出处。个新的jsbundle,并重新解析执行。原创内容,盗版必究。转载请注明出处:www.tangshuang.net另外,debug模式(等下说)下很多调试本文版权归作者所有,未经授权不得转载。【访问 www.tangshuang.net 获取更多精彩内容】用的东西会出现在app界面上,例如app本文作者:唐霜,转载请注明出处。转载请注明出处:www.tangshuang.net加载jsbundle的进度、app内部报【原创不易,请尊重版权】原创内容,盗版必究。错底部弹出黄色区域进行提示。这些东西都是【未经授权禁止转载】【原创不易,请尊重版权】为了开发方便进行使用的,而不是为了测试。
原创内容,盗版必究。【版权所有,侵权必究】【版权所有,侵权必究】转载请注明出处:www.tangshua【本文首发于唐霜的博客】【原创不易,请尊重版权】ng.net当我们要创建一个pre-release的本文作者:唐霜,转载请注明出处。转载请注明出处:www.tangshuang.net测试版本安装到手机上时,我们一方面要去除【关注微信公众号:wwwtangshuangnet】【原创内容,转载请注明出处】那些开发才用到的界面信息,另一方面要创建【版权所有,侵权必究】未经授权,禁止复制转载。一个静态的jsbundle放在app内部本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.net一直使用,而不是每次启动app都要从某个【本文受版权保护】【本文受版权保护】地址去下载。接下来,我们就来一步一步操作【版权所有,侵权必究】未经授权,禁止复制转载。:
【版权所有,侵权必究】本文版权归作者所有,未经授权不得转载。1)APP图标
【原创内容,转载请注明出处】【转载请注明来源】【转载请注明来源】
在xcode左侧的项目中,找到image本文作者:唐霜,转载请注明出处。【本文受版权保护】s.xcassets目录,点击之后,在右【访问 www.tangshuang.net 获取更多精彩内容】【原创内容,转载请注明出处】侧点击AppIcon。这个地方上传ico本文版权归作者所有,未经授权不得转载。【原创内容,转载请注明出处】n比较坑,没有按钮,而是要你打开ifin未经授权,禁止复制转载。转载请注明出处:www.tangshuang.netder,然后把icon拖到对应的图标位置转载请注明出处:www.tangshuang.net本文版权归作者所有,未经授权不得转载。里面去。你需要准备如下尺寸的icon:1本文版权归作者所有,未经授权不得转载。【作者:唐霜】024, 180, 120, 87, 8本文作者:唐霜,转载请注明出处。转载请注明出处:www.tangshuang.net0, 60, 58, 40。你尽管随便拖本文作者:唐霜,转载请注明出处。本文版权归作者所有,未经授权不得转载。图片进去,尺寸不符的时候会有警告提示图标转载请注明出处:www.tangshuang.net【本文首发于唐霜的博客】出现。
【转载请注明来源】【转载请注明来源】2)修改启动界面
【关注微信公众号:wwwtangshua转载请注明出处:www.tangshuang.net【版权所有,侵权必究】ngnet】【未经授权禁止转载】本文作者:唐霜,转载请注明出处。修改位置在LaunchScreen里面,本文版权归作者所有,未经授权不得转载。著作权归作者所有,禁止商业用途转载。也可以在文件ios/[AppName]/本文作者:唐霜,转载请注明出处。转载请注明出处:www.tangshuang.netBase.lproj/LaunchScr著作权归作者所有,禁止商业用途转载。著作权归作者所有,禁止商业用途转载。een.xib里面修改。
原创内容,盗版必究。【本文受版权保护】原创内容,盗版必究。原创内容,盗版必究。3)创建一个静态的jsbundle
【关注微信公众号:wwwtangshua【版权所有】唐霜 www.tangshuang.net【转载请注明来源】ngnet】【版权所有,侵权必究】未经授权,禁止复制转载。react-native的cli工具(r转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。eact-native-cli)默认只在【访问 www.tangshuang.net 获取更多精彩内容】【原创内容,转载请注明出处】我们的package.json里面加了s【未经授权禁止转载】著作权归作者所有,禁止商业用途转载。tart命令,没有加build命令,因此本文作者:唐霜,转载请注明出处。【作者:唐霜】,我们要自己添加一个命令用来创建一个js转载请注明出处:www.tangshuang.net【关注微信公众号:wwwtangshuangnet】bundle。
【版权所有】唐霜 www.tangshu原创内容,盗版必究。【访问 www.tangshuang.net 获取更多精彩内容】ang.net著作权归作者所有,禁止商业用途转载。【未经授权禁止转载】本文作者:唐霜,转载请注明出处。 "scripts": {
"start": "react-native start",
"build:ios": "react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios",
"test": "jest"
},
上面的红色语句是从官网的文档搬过来的,接【版权所有,侵权必究】【关注微信公众号:wwwtangshuangnet】下来你要在命令行里面执行:
本文版权归作者所有,未经授权不得转载。原创内容,盗版必究。npm run build:ios
不过这里有个点,就是我直接在npm sc本文作者:唐霜,转载请注明出处。本文作者:唐霜,转载请注明出处。ript命令里面使用了react-nat【本文受版权保护】本文版权归作者所有,未经授权不得转载。ive,如果你要在服务器上面做CI集成,【关注微信公众号:wwwtangshuangnet】本文版权归作者所有,未经授权不得转载。为了保险起见,可以把上面的react-n本文版权归作者所有,未经授权不得转载。【未经授权禁止转载】ative替换为“node node_modules/react-native/local-cli/cli.js”这样能保证软链失效的时候可以做buil未经授权,禁止复制转载。【版权所有】唐霜 www.tangshuang.netd。
执行完上面的npm命令之后,你可以在io【本文受版权保护】【关注微信公众号:wwwtangshuangnet】s目录下找到main.jsbundle这【原创内容,转载请注明出处】【原创不易,请尊重版权】个文件,而且assets文件夹也产生了。
本文作者:唐霜,转载请注明出处。【访问 www.tangshuang.n【访问 www.tangshuang.net 获取更多精彩内容】【转载请注明来源】et 获取更多精彩内容】4)修改jsbundle获取位置
【关注微信公众号:wwwtangshua转载请注明出处:www.tangshuang.net本文作者:唐霜,转载请注明出处。ngnet】本文版权归作者所有,未经授权不得转载。【访问 www.tangshuang.n【关注微信公众号:wwwtangshuangnet】【未经授权禁止转载】et 获取更多精彩内容】【访问 www.tangshuang.n本文作者:唐霜,转载请注明出处。【作者:唐霜】et 获取更多精彩内容】在ios/[AppName]/Base.【本文首发于唐霜的博客】【访问 www.tangshuang.net 获取更多精彩内容】lproj/AppDelegate.m文【作者:唐霜】未经授权,禁止复制转载。件中找到jsCodeLocation,把【版权所有,侵权必究】本文作者:唐霜,转载请注明出处。它的赋值语句进行修改:
【转载请注明来源】转载请注明出处:www.tangshua【关注微信公众号:wwwtangshuangnet】【作者:唐霜】ng.net【转载请注明来源】jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; //jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
下面被注释掉的,是react-nativ本文作者:唐霜,转载请注明出处。著作权归作者所有,禁止商业用途转载。e生成项目的时候使用的,也就是我们开发时未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。的配置,上面一句是官方文档里面给的,用来本文版权归作者所有,未经授权不得转载。【原创内容,转载请注明出处】加载静态jsbundle的。
未经授权,禁止复制转载。著作权归作者所有,禁止商业用途转载。【版权所有,侵权必究】【本文受版权保护】5)调整build模式
【本文首发于唐霜的博客】【版权所有】唐霜 www.tangshu【转载请注明来源】未经授权,禁止复制转载。ang.net未经授权,禁止复制转载。转载请注明出处:www.tangshua【版权所有】唐霜 www.tangshuang.net本文作者:唐霜,转载请注明出处。ng.net在xcode中,要修改debug模式为r【原创不易,请尊重版权】【版权所有】唐霜 www.tangshuang.netelease模式:
原创内容,盗版必究。【本文受版权保护】著作权归作者所有,禁止商业用途转载。【版权所有,侵权必究】

左侧有好几个选项,都要在右边修改为rel【未经授权禁止转载】转载请注明出处:www.tangshuang.netease。
转载请注明出处:www.tangshua【转载请注明来源】【本文首发于唐霜的博客】ng.net【原创不易,请尊重版权】原创内容,盗版必究。6)run
【未经授权禁止转载】著作权归作者所有,禁止商业用途转载。完成上面之后,点击run按钮,将应用安装【转载请注明来源】【转载请注明来源】到手机上,可以在手机上愉快测试了。
转载请注明出处:www.tangshua未经授权,禁止复制转载。原创内容,盗版必究。ng.net【版权所有】唐霜 www.tangshu【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。ang.net著作权归作者所有,禁止商业用途转载。2018-06-18 6201


