ios – 在调试模式下分发TestFlight构建

我们正在为iOS应用程序使用单独的数据库进行生产和开发,我们正在通过TestFlight进行测试.

问题是TestFlight在发布模式下分发应用程序.

如何配置项目以便在开发模式下分发应用程序?

或者我应该为发布和开发实际设置不同的构建标识符,然后在TestFlight中有两个应用程序?

通常做什么?

最佳答案

Summary of solution

我建议你在构建设置中添加一个值.只有在构建生产版本时才将其设置为PRODUCTION.

只需使用#if语句检查是否设置了PRODUCTION

In my app (I use Batch for push notifications)

我有2个版本的同一个应用程序.一个免费广告,一个免费广告.
我只是在免费版本中这样设置:

《ios – 在调试模式下分发TestFlight构建》

在付费版本中就像这样:

《ios – 在调试模式下分发TestFlight构建》

最后我在code =]中使用它

    // MARK: Batch.
    #if FREE
        #if DEBUG
            print("Batch FREE - DEBUG mode")
            Batch.start(withAPIKey: "-MY FREE VERSION DEBUG KEY-") // dev
        #elseif RELEASE
            print("Batch FREE - RELEASE mode")
            Batch.start(withAPIKey: "-MY FREE VERSION RELEASE KEY-") // live
        #endif
    #elseif PAID
        #if DEBUG
            print("Batch PAID - DEBUG mode")
            Batch.start(withAPIKey: "-MY PAID VERSION DEBUG KEY-") // dev
        #elseif RELEASE
            print("Batch PAID - RELEASE mode")
            Batch.start(withAPIKey: "-MY PAID VERSION RELEASE KEY-") // live
        #endif
    #endif
    // Register for push notifications
    BatchPush.registerForRemoteNotifications()

In your case it will be manual due.

仅在构建到生产时,才在“活动编译条件”中设置“生产”.
然后添加以下代码:

#if PRODUCTION
    // Connect to production database
#else
    // Connect to test database
#endif
点赞