React Native之iOS远程真机调试
本文章描述如何在真机环境上远程调试js代码,有一些开发工作(如支付测试)是需要在真机环境上才具备测试条件的,本文所述的方法,对于这类环境来说,非常有帮助。
方法其实很简单.
一、AppDelegate.m
只需要在AppDelegate.m
文件中,把jsCodeLocation
改为以下配置:
|
|
如果以DEBUG进行编译时:
- 在模拟器上运行时,还是走原来的方式
- 在真机环境运行时,从
<REMOTE_HOST>:8081
这个地址上加载js
如果以非DEBUG进行编译时:
- 还是默认走回从
main.jsbundle
文件加载的方式
其中,<REMOTE_HOST>:8081
一定是要从手机上可以访问的地址。
二、配置允许从http不安全访问
由于iOS安全限制,默认不允许使用http(而必须使用https),由于我们这是调试,有需要的可针对性的放开。
参考以下配置进行配置:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>link****.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
三、扩展阅读
使用frp来将本地的端口映射至公网服务器的端口上。
由于在公司网络环境的限制,WiFi环境的手机不能访问得到内网环境暴露的端口,因此,需要把内网的端口映射到公网环境。
简单的配置方法:
1)公网服务器配置
|
|
2)内网客户端配置
|
|
这样子运行起来之后,就可以随时随地地对iOS真机远程调试了(JS)。