Swift:不同的构建连接到不同的服务器

时间:2016-02-25 09:47:00

标签: ios swift build ipa

我有一个使用HTTP连接到服务器的Swift iOS项目。有两个服务器,一个用于开发,一个用于生产。当我在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能够连接到生产服务器。那么最好的方法是什么?

2 个答案:

答案 0 :(得分:1)

第1步:创建Swift编译器自定义标志

  1. 在Xcode中打开项目导航器 J
  2. 选择项目根目录
  3. 选择目标
  4. 查找Swift Compiler - Custom Flags > Other Swift Flags部分
  5. 将此条目添加到Debug:-D DEBUG
  6. enter image description here

    步骤2:创建Swift预处理器宏

    然后在您的代码中写下

    #if DEBUG
    let server = "http://www.yourserver.com/debug/"
    #else
    let server = "http://www.yourserver.com/production/"
    #endif
    

答案 1 :(得分:0)

如果您不想创建单独的目标,那么最好的方法是在plist或web服务处理程序类中定义的宏中添加BASE_URL条目,然后在所有http请求中使用它。不利的一面是,每次创建IPA之前都必须手动更改它。

OR

定义这样的宏:

#ifdef DEBUG
    NSString* const kURL = @"http://debug.com";
#else
    NSString* const kURL = @"http://release.com";
#endif