Swift: 不同的构建连接到不同的服务器
Swift: different builds connect to different servers
我有一个 Swift iOS 项目,它使用 HTTP 连接到服务器。有两台服务器,一台用于开发,一台用于生产。当我在 Xcode 中编辑和测试我的应用程序时,我希望它连接到开发服务器。然后,当代码准备就绪时,我使用以下命令构建用于发布的 IPA:
xcodebuild archive -scheme MyApp -archivePath ~/Archive/MyApp
xcodebuild -exportArchive -archivePath ~/Archive/MyApp.xcarchive -exportPath ~/IPA/MyApp -exportFormat ipa -exportProvisioningProfile "My Provisioning Profile"
并且我希望此版本的 IPA 连接到生产服务器。那么最好的方法是什么?
如果您不想创建单独的目标,那么最好的方法是在 plist 中添加 BASE_URL 条目或在 Web 服务处理程序 class 中定义宏,然后在您的所有目标中使用它http 请求。缺点是每次创建 IPA 之前都必须手动更改它。
或
像这样定义宏:
#ifdef DEBUG
NSString* const kURL = @"http://debug.com";
#else
NSString* const kURL = @"http://release.com";
#endif
第 1 步:创建 Swift 编译器自定义标志
- 在 Xcode 中打开 Project Navigator ⌘⇧J
- Select 项目根目录
- Select 你的 目标
- 查找
Swift Compiler - Custom Flags > Other Swift Flags
部分
- 添加到
Debug
这个条目:-D DEBUG
第 2 步:创建 Swift 预处理器宏
然后在你的代码中写这个
#if DEBUG
let server = "http://www.yourserver.com/debug/"
#else
let server = "http://www.yourserver.com/production/"
#endif
我有一个 Swift iOS 项目,它使用 HTTP 连接到服务器。有两台服务器,一台用于开发,一台用于生产。当我在 Xcode 中编辑和测试我的应用程序时,我希望它连接到开发服务器。然后,当代码准备就绪时,我使用以下命令构建用于发布的 IPA:
xcodebuild archive -scheme MyApp -archivePath ~/Archive/MyApp
xcodebuild -exportArchive -archivePath ~/Archive/MyApp.xcarchive -exportPath ~/IPA/MyApp -exportFormat ipa -exportProvisioningProfile "My Provisioning Profile"
并且我希望此版本的 IPA 连接到生产服务器。那么最好的方法是什么?
如果您不想创建单独的目标,那么最好的方法是在 plist 中添加 BASE_URL 条目或在 Web 服务处理程序 class 中定义宏,然后在您的所有目标中使用它http 请求。缺点是每次创建 IPA 之前都必须手动更改它。
或
像这样定义宏:
#ifdef DEBUG
NSString* const kURL = @"http://debug.com";
#else
NSString* const kURL = @"http://release.com";
#endif
第 1 步:创建 Swift 编译器自定义标志
- 在 Xcode 中打开 Project Navigator ⌘⇧J
- Select 项目根目录
- Select 你的 目标
- 查找
Swift Compiler - Custom Flags > Other Swift Flags
部分 - 添加到
Debug
这个条目:-D DEBUG
第 2 步:创建 Swift 预处理器宏
然后在你的代码中写这个
#if DEBUG
let server = "http://www.yourserver.com/debug/"
#else
let server = "http://www.yourserver.com/production/"
#endif