Хорошо, тогда, если вы хотите иметь возможность изменять URL-адрес во время разработки без создания новой сборки, у вас есть разные варианты, но быстрый - всегда скрытое всплывающее окно конфигурации или меню, к которому вы обращаетесь с первого экрана перед входом в систему. или что-то еще.
Где появляется скрытое меню : это то, что вы хотите решить, но, возможно, где-то в стартовом ViewController, во входе в систему или при входе в систему, вы хотите добавить Gesture Recognizer для Например, чтобы показать ваше скрытое меню, скажем, двойное касание в любом месте вашего ViewController.view
, которое будет представлять скрытое предупреждение о конфигурации только в сборке отладки, а не в выпуске, непосредственно перед входом в систему или любым соответствующим вызовом API:
#if DEBUG
let tap = UITapGestureRecognizer(target: self, action: #selector(presentHiddenConfigurationAlert))
tap.numberOfTapsRequired = 2
view.addGestureRecognizer(tap)
#endif
Как скрытое меню выглядит и действует как : теперь и в том же ViewController (как, например, в моем примере, LoginV C или что вы будете sh) вы ' При двойном нажатии метод селектора должен быть таким, как этот, например, чтобы показать предупреждение, которое может позволить вам изменить ваш текущий URL (как всегда это может происходить только в отладочной сборке):
#if DEBUG
@objc func presentHiddenConfigurationAlert() {
let currentURL = UserDefaults.string(forKey: "current_url")
let alertView = UIAlertController(title: "Hidden Configuration", message: "You are using \(currentURL)", preferredStyle: .alert)
// add a textview to let developer input the url he wants to use as an action
// or add some actions as buttons to choose between a Test URL button action and Dev URL button action
// store the URL as of "current_url" so you can retrieve it in an instance used across the app and here in the message
self.present(alert, animated: true, completion: nil)
}
#endif
И в общем случае, в моем примере:
- вы устанавливаете приложение и находитесь в отладочной сборке
- контроллер представления входа в систему - это первое, что показывается (например)
- вы или другой разработчик, использующий эту сборку, дважды нажмите где-нибудь в этом контроллере представления
- скрытая конфигурация оповещения меню показано, где вы можете изменить текущий URL-адрес, используемый в приложении
- вы сохраняете этот URL-адрес по умолчанию или где вам больше всего нравится
- сейчас, где бы вы ни обращались к переменной URL-адреса, вы хотите, чтобы в отладке вы используете одно из пользовательских значений по умолчанию, а в выпуске вы используете один выпуск
#if DEBUG
var API_URL = getURLFromUserDefaults()
#else
var API_URL = "https://www.release-product-url.com"
#endif