设置调试服务器URL,以在iOS / Xcode设备上运行应用。

在Xcode上使用本机React时,我们遇到一个问题,即它无法在具有localhost类型URL的设备上运行,如果要在设备上使用该应用程序,则需要放置调试服务器的IP。

我尝试使用字符串文件[Very bad Idea]读取属性并git-ignore,这样其他开发人员就不会受到IP更改的影响。 但是猜想我忽略了一个事实,那就是它是一个项目文件,而xcproj文件仍会跟踪它,这使我陷入了没有该文件但xcproj正在请求该文件的CI服务器的问题。 然后,我找到了Derrick Ho的这篇很棒的文章,该文章讨论了如何将环境变量用于运行时所需的动态绑定数据,例如调试URL。

这是我所做的:

为您的应用程序创建一个新方案,我将其命名为“ [MyAppName] debug”。 为此,请转到右上角的“方案”菜单,然后选择“新方案”

现在,从“方案”菜单转到“管理方案”,并确保该方案的共享已关闭,否则它将自身附加到proj文件并在git上进行跟踪。

现在,从“方案”菜单转到“编辑方案”,从左侧选项卡中选择“运行”。 并在“参数”选项卡中找到“环境变量”部分。 使用调试服务器的IP和jsbundle文件的完整路径设置URL。

ew,这是最忙碌的第一部分。 现在在您的util类中的某处添加以下代码

请注意将URL保存到永久性存储的代码,这是因为一旦您终止与Xcode的会话,您在下次启动应用程序时就不会从Xcode获取环境变量。 您将把这段代码阻止回本地主机,并且它仅在调试时发生,因此不会影响您的用户。

就是这样,您只需在任意位置调用 .jsCodeLocation,您就会从刚刚创建的环境var中动态获取URL。

酷吧。

Psst…确保您团队中的每个人都使用其IP遵循这些步骤。 现在所有设置都不再需要在开发时担心调试服务器的IP了。