[РЕШЕНО] #if DEBUG флаги препроцессора(Надеюсь правильно)


#1

Товарищи, кто на построчное работает с тестовым и рабочими API
Отзовитесь и ответьте на пару вопросов!

Как включить я понимаю, как управлять?! Можно ли через Xcode указать что данная сборка не дебаг а прод, как подключить к testFlight, а то черед прод спи!
А то надоело прыгать!)


#2

Через аргументы процесса в схеме. Но это будет не препроцессор.

Ну и маленькая поправочка - в свифт это не препроцессор - препроцессор в си/си++ и иже с ними тупо подставляет фрагменты кода при сборке.


#3

Вот такое решение нашел на

    enum AppConfiguration {
        case Debug
        case TestFlight
        case AppStore
    }

    struct Config {
        
        private init() { }
        
        private static let isTestFlight = Bundle.main.appStoreReceiptURL?.lastPathComponent == "sandboxReceipt"
        
        static var isDebug: Bool {
            #if DEBUG
            return true
            #else
            return false
            #endif
        }
        
        static var appConfiguration: AppConfiguration {
            if isDebug {
                return .Debug
            } else if isTestFlight {
                return .TestFlight
            } else {
                return .AppStore
            }
        }
    }