当前位置:  开发笔记 > 运维 > 正文

使用设备上的预捆绑文件来反应Native,即使是DEV模式

如何解决《使用设备上的预捆绑文件来反应Native,即使是DEV模式》经验,为你挑选了3个好方法。

几天前,当我在设备上从Xcode构建并运行我的react本机应用程序时,我意识到即使我将我的方案设置为Debug,该应用程序仍然从预先捆绑的文件加载.除此之外,其他一切都像开发者模式.我可以摇动设备和开发人员meny弹出窗口,在控制台中我得到输出,并反应本​​机也日志:

使用appParams运行应用程序"XXXXX":{"rootTag":1,"initialProps":{}}.DEV === true,开发级别警告为ON,性能优化为OFF

因此,当我尝试从开发人员meny重新加载时,它确实重新加载但是带有消息

从预先捆绑的文件加载

我试图删除应用程序,验证调试方案,清理构建,构建并再次运行,没有任何不同的结果.

有没有人知道可能导致这种情况的原因(我之前一直在使用Release Scheme运行应用程序,但从来没有遇到过这个问题),以及我如何能够恢复"正常"状态?

不幸的是我不知道如何重现这一点.

Xcode:8.2.1

React-native:0.40.0

感谢您的时间!

解决了

就我而言,就像@while1指出的那样.我的设备和计算机没有连接到同一个wifi.然而,我在我工作的地方找到了一个网络,它仍然无法正常工作,即使计算机和设备都连接到这个网络(保护某种方式可能?).ANyway,当我从iPhone上将我的互联网连接分享到我的电脑时,应用程序终于从我的电脑上加载了数据.所以它确实是iPhone无法连接到我的电脑,因此加载预先捆绑的文件.



1> while1..:

在本机0.40.0的反应中,React本地尝试自己猜测捆绑位置.请查看以下几点是否有帮助:

确保你的AppDelegate.m有这一行:jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];

检查您的设备,您的Xcode mac在同一个wifi上运行.在IOS内部,本地尝试自己猜测ip.

尝试首先通过命令行运行应用程序,因此开发包装器服务器正在运行,然后通过设备中的xcode运行应用程序.



2> Codesingh..:

所以你的问题在这里:

更改AppDelegate.m中的代码:

jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; // comment this line

jsCodeLocation = [NSURL URLWithString:@"http://xxx.xxx.x.xx:8081/index.ios.bundle?platform=ios&dev=true"]; //uncomment this line  

干杯:)


在本机0.40.0的反应中,这些行都不存在,但我确实从早期版本的本机中识别它们.在我的情况下,while1指出了解决方案(相同的wifi).谢谢你的意见.

3> Krishna Mudh..:

由于我遇到了同样的问题,以上几点对我没有用。通过执行这些步骤,我成功了。

转到xcode->您的项目-> info.plist

在“应用程序传输安全设置”中,选择“允许任意加载”。

它应该解决此问题。

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有