Quiero usar algunas constantes personalizadas en el archivo info.plist para usarlo globalmente, por ejemplo
<key>FacebookAppID</key> <string>$(my_custom_constant)</string>Configure su variable personalizada en info.plist como se muestra a continuación. He tomado "HockeyAppID" como ejemplo aquí.
A continuación, agregue una variable en Configuración de compilación en "Definido por el usuario" para la configuración de depuración y versión en su caso, como se muestra a continuación. Aquí, tengo mis propias cuatro configuraciones diferentes.
Como sabe, se cargarán diferentes valores de configuración en tiempo de ejecución en función de la configuración del esquema. Para acceder a HockeyAppId para la configuración de depuración/liberación desde info.plist, haga lo siguiente.
enum InfoPlistKey { static let hockeyappID = "HockeyAppID" } struct AppSettings { private static var infoDict: [String: Any] { if let dict = Bundle.main.infoDictionary { return dict } else { fatalError("Info Plist file not found") } } static let hockeyAppID = infoDict[InfoPlistKey.hockeyappID] as! String }Ahora, puede acceder al valor de HockeyAppId desde Info.plist como,
let identifier = AppSettings.hockeyAppIDPor favor, hágamelo saber en caso de cualquier problema.
Puede crear la variable agregándola como una "Configuración definida por el usuario" a su objetivo, en Configuración de compilación. Luego puede establecer el valor de la variable en diferentes cosas para cada una de sus configuraciones de compilación.
Por favor, vea la captura de pantalla adjunta. Puede ignorar mis configuraciones Beta Prod y Beta Test, ya que probablemente no se apliquen a su situación.