首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为Web + iPhone设置查找开发机器的IP地址

为Web + iPhone设置查找开发机器的IP地址
EN

Stack Overflow用户
提问于 2010-10-01 04:11:18
回答 4查看 1.4K关注 0票数 2

我正在开发一些iPhone应用程序,这些应用程序与基于HTTP服务器(碰巧是Rails,但这里不相关)通信,而且经常会被从iPhone设备到我的MacBook Pro的IP (Un)可达性所咬伤-- iPhone设备必须击中MBP上的URL。

现在,我在Config.h:

代码语言:javascript
运行
复制
#if (TARGET_IPHONE_SIMULATOR)
// for iPhone Simulator
#define API_BASE  @"http://127.0.0.1:3000/api"
#else
// for iPhone Device
#define API_BASE  @"http://10.0.0.1:3000/api"
#endif

只要: 1.您自己工作,2.您可以完全控制DHCP服务器,3.或者您只能使用iPhone模拟器并使用回送地址(即,不需要推送通知或应用程序内购买)。

但我经常与其他人在远程工作,经常来自咖啡馆或图书馆,所以这让我很困扰--现在我必须手动查找MBP分配的IP地址,将上述常量API_BASE从"10.0.0.1“重写到新地址,并且在提交git或svn之前不要忘记恢复到原来的位置。

有没有任何方法可以从Xcode内部以编程方式获取开发机器的IP地址,并在每次构建的基础上将其发送到iPhone设备?

更新

仅仅使用Bonjour是不够的,因为团队中的每台机器都有不同的名称。

EN

Stack Overflow用户

发布于 2010-10-01 04:51:21

因为它已经是一个URL,所以您可以使用主机名而不是IP,并且可以用Bonjour解析它。例如,我正在编写的笔记本名为Jura,这意味着它有一个jura.local的Bonjour主机名。

您可以通过标题到“共享首选项”窗格查找计算机的Bonjour DNS名称。在计算机名下,有句话开头,“计算机在你的本地网络.”并以您想要使用的名称结尾。

然后可以将上述代码更改为:

代码语言:javascript
运行
复制
#define API_BASE  @"http://my-macbook-pro.local:3000/api"

因为相同的机制将解析模拟器中和设备上的URL。

票数 2
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3836488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档