我正在为与客户端API集成的客户端开发iOS应用,我在用于与API接口的单例对象中定义了API基本URL。
#define kAPIBaseURL @"https://myAPIURL.com/api/"
客户端希望自己更改API Base URL,而不是让我每次都更改应用代码中的URL。
我通过测试飞行将构建分发给客户端或向他们发送IPA文件,而不是代码库。
最好的方法是什么?感谢。
3 个答案:
答案 0 :(得分:0)
实际上,执行此操作的最佳方法是使用类似解析的内容并从那里提取API网址。然后他们可以通过解析控制台快速更新它。
答案 1 :(得分:0)
解决方案1:
- 在NSUserdefaults中创建一个键(" kAPIBaseURL")并将其值设置为默认的APIURL。 NSUserdefaults的优势在于它甚至可以持续应用程序更新(直到应用程序被删除)。在NSUserdefaults中写一些内容后,不要忘记立即调用NSUserdefaults同步!
- 在您的委托中,每次应用程序完成配置操作(更少)或当应用程序确实变为活动状态(更频繁)时,向您自己的Web服务发送请求,其中包含当前最新的API基本URL
- 向您的应用返回最新的最新API基本网址。
- 比较NSUserdefaults中kAPIBaseURL的现有值,如果不同则更新它。
如果您不想使用webservices,只需将.json文件存储在包含基本URL的ftp上,并直接对该文件发出请求。客户需要访问该ftp才能更新该文件。
JSON文件内容示例:
{"baseURL":"http://www.mybaseurl.com/"}
解决方案2(不推荐):
- 建立一个中间人:将kAPIBaseURL设置为一个url,只有工作是对真实服务器进行重定向(可能是htaccess)。
- 实施起来更快,但它会使应用程序的每一个请求都变得更慢。
答案 2 :(得分:0)
使用DNS服务器
使用域名代替IP地址。
并使用http://domainname.com/api这样的域名构建应用程序
如果您要更改IP地址,它将自动从DNS服务器重定向。