Use #defined values ​​in Info.plist

No Xcode, vá para Build Settingsdefinir Preprocess Info.plist Filepara YESe Info.plist Preprocessor Prefix Filepara um arquivo .h que você colocou em seu projeto com as diretivas #define.

Eu geralmente uso um Constants.harquivo que está incluído por PrefixHeader.pchalso e definido Preprocessor Macrospara DEVELOPMENT, TESTINGe para o APPSTOREqual copio Info.plist Preprocessor Definitions.

Por exemplo, para usar diferentes credenciais de aplicativo do Facebook no teste e na produção, #define os valores em seu cabeçalho como:

#ifdef DEVELOPMENT

#define FACEBOOK_APP_ID @"00000000"
#define FACEBOOK_APP_URL @"fb00000000"
#define FACEBOOK_APP_NAME @"App Display Name - Test"
#define FACEBOOK_APP_SECRET @"abcdef00000000"

#else

#define FACEBOOK_APP_ID @"00000001"
#define FACEBOOK_APP_URL @"fb00000001"
#define FACEBOOK_APP_NAME @"App Display Name"
#define FACEBOOK_APP_SECRET @"abcdef00000001"

#endif

e defina os <> valores-chave como:

<key>FacebookAppID</key>
<string>FACEBOOK_APP_ID</string>
<key>FacebookDisplayName</key>
<string>FACEBOOK_APP_NAME</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>FACEBOOK_APP_URL</string>
</array>
</dict>
</array>

Lembre-se de Product > Cleanquando você alterar os valores definidos.