是否可以从Objective-C中的预处理器DEFINE获取本地IP地址?

Ran*_*Ran 7 xcode objective-c c-preprocessor

这可能是一个很长的镜头但是没有问题......
你认为在xcode下在Objective-C中构建iOS时,是否有可能获得构建主机的IP地址?
如果有可能的话,它对我的​​测试很有用.
例如:

NSString* backendUrl = [NSString stringWithFormat:@"http://%@:5000/", HOST_IP];
Run Code Online (Sandbox Code Playgroud)

我期望HOST_IP(如果有类似的东西)这样的东西,但当然在构建时自动控制以保持正确的IP:

#define HOST_IP @"172.76.77.5"
Run Code Online (Sandbox Code Playgroud)

Alo*_*mir 3

没有方便的解决方案,但这里有一些需要考虑的选项。

  1. 在 #define 中,输入计算机的主机名(如果位于 LAN 上)- http://mylaptop:5000/ 或简单地注册一个免费域 @ http://www.no-ip.com/

  2. 如果需要专门有一个包含您的 IP 地址的 #define 宏,您可以简单地编写一个小的 bash 脚本来更新 .m/.cpp/.h 文件或保存此 #define 的任何文件中定义的 IP。然后您可以将脚本添加为预构建阶段,或者在知道 IP 地址已更改时运行脚本。虽然我承认这有点hackish。