在iPhone应用程序的运行时,有没有办法在ad hoc和app store之间以编程方式区分分发类型?每当我进行临时分发时,我希望将内部测试服务器作为Web服务端点的目标,然后针对应用商店分发目标指向生产服务器。
您可以。在应用程序包中打开文件embedded.mobileprovision
文件(当然,您可以以编程方式执行此操作)并检查<key>ProvisionedDevices</key>
。它只存在于您应用的Ad Hoc副本中,只要您使用App Store配置文件签署App Store版本即可。
我认为您的应用无法获得该信息。但是你可以通过为不同的Build配置使用不同的预处理器#defines然后根据这些#defines的值定义你的常量来做到这一点。
我认为没有办法确定分布类型,因为它们只是相同的二进制文件,但提供了不同的方式。我会为您的ad hoc制作一个单独的构建,并将您需要的内容更改为内部测试服务器。