我在 AppStroe 上为许多不同的公司开发了一个移动应用程序。每个公司都使用不同的端点来连接服务器/图标/ Logo 。我已成功将其添加到自定义 plist 文件中,并根据公司端点,我切换到不同的构建设置。
现在这些公司正在采用不同的身份验证方式。一种是使用另一个应用程序进行身份验证,另一种是使用服务器调用。另外,对于一家公司,我正在接收来自服务器调用的数据,另一种来自本地文件的数据。
我必须处理不同项目的不同登录行为。它主要是显示/禁用一些额外的 View 。我不想有两个存储库或分支。因为几乎 %85 的功能是相同的。我想同时向两者添加功能,有时只向其中之一添加功能,并运行我的测试和所有测试。
我正在寻找某种方式来管理此应用程序以维护大多数功能并仅保留它一个应用程序。我怎样才能做到这一点?有什么建议吗?
最佳答案
这是一个很老的问题。基本上你有两个选择:构建时和运行时;根据您的描述,您可能需要两者(我不相信配置来驱动我的身份验证代码)。
构建时间意味着使用条件编译(例如 Which conditional compile to use to switch between Mac and iPhone specific code? )和针对每个客户的不同构建配置文件。我假设 Xcode Targets(参见 How to manage the code of multiple, very similar Xcode projects)允许您定义不同的构建配置文件。
运行时检查映射到 Feature Toggling .
我建议不要使用版本控制来管理同一应用程序的细微差别,因为它很快就会成为 merge 的噩梦,即使使用 Git 也是如此。
关于ios - 如何为要求略有不同的多家公司管理一个 Xcode iOS 应用程序存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37435065/