当测试连接到本地计算机服务器的 iPhone 应用程序时,我需要输入计算机的本地 IP 地址而不是 localhost
以便使用模拟器以外的设备进行测试。这对于动态 IP 地址和多个开发人员进行测试时会很烦人。是否有代码片段可以获取正在编译代码的计算机的 IP 地址,而不是 IP 地址,即运行应用程序的设备的地址(最好使用 C 或 Objective-C,而不是 Swift)?
最佳答案
1) 在包含以下内容的 Xcode 项目的“构建阶段”选项卡中添加“运行脚本”:
export SERVER_IP=`ipconfig getifaddr en0`
注意:将“en0”更改为与您的机器匹配的接口(interface)。 en0 是我机器上的 wifi,我的硬线是 en3。在终端中执行“ifconfig -a”以获取所有适配器的列表并查看哪个适合您的机器
2) 转到您的项目文件。单击左侧菜单中的项目本身,然后单击右侧的build设置。转到“Apple LLVM 6.0 - 自定义编译器标志”。在“其他 cflags”->“调试”下定义一个名为 -DSERVER_IP=${SERVER_IP}
的新值这会将构建脚本的结果映射到项目中的#DEFINE
3) 在您的代码中使用 SERVER_IP 就像您使用任何其他 #DEFINE 一样,它将始终具有构建代码的计算机的值。
关于objective-c - Xcode如何获取当前电脑的IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28218518/