objective-c - Xcode如何获取当前电脑的IP地址

标签 objective-c xcode

当测试连接到本地计算机服务器的 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/

相关文章:

ios - 将 Core Data/SQLite 数据库下载到应用程序中?

支持服务器的 iOS 9 ATS SSL 错误

swift - SwiftyJson 和 Alamofire 使用的解码结构

ios - 错误 : New apps and app updates submitted to the App Store must be built with public (GM) versions of Xcode 6 or higher and iOS 8 SDK

objective-c - UIWebview javascript泄漏?

ios - 将图像文件从 Parse 保存到 iPhone

ios - 为什么找不到 XCTest/XCTest.h?

ios - 如何获取受 Apple 配置器监管的 iOS 设备的日志?

php - 如何将数据从iphone发送/存储到mysql数据库并在网页上显示结果

xcode - 点击屏幕时隐藏/取消隐藏 UINavigationbar