technique to separate API keys in a xcconfig file described in this answer не работает с Swift 2.2 due to a bug (SR-909).Swift 2.2: GCC_PREPROCESSOR_DEFINITIONS константы больше не импортированы
Есть ли обходной путь?
technique to separate API keys in a xcconfig file described in this answer не работает с Swift 2.2 due to a bug (SR-909).Swift 2.2: GCC_PREPROCESSOR_DEFINITIONS константы больше не импортированы
Есть ли обходной путь?
Спасибо за указание на ошибку, не выдумал бы это из-за этого. Если это любая помощь, которую я в конечном итоге добавив дополнительные ObjC константы мост Swift и используя константы моста из быстры:
// Constants.h
extern NSString *const kDropBoxAPIKey;
// Constants.m
NSString *const kDropBoxAPIKey = DROPBOX_API_KEY;
// xxx-Bridging-Header.h
#import "Constants.h"
Затем с помощью мостового ключа в Swift
// xx.swift
...
// let auth = DropboxAuth(appKey: DROPBOX_API_KEY)
let auth = DropboxAuth(appKey: kDropBoxAPIKey)
...
Вы можете объявить еще один подобный макрос в мостовом файле заголовка. Представьте, что мы имеем макрос MY_MACRO
в определениях предварительной обработки. Код Swift его не видит. В преодолении заголовка файла можно определить другой макрос:
#define MY_MACRO2 MY_MACRO
Теперь используйте MY_MACRO2
везде в Swift код. Когда Apple исправляет эту проблему, вам нужно переименовать MY_MACRO2
в MY_MACRO
.