technique to separate API keys in a xcconfig file described in this answer不能与Swift 2.2 due to a bug (SR-909)一起使用。
有什么变通方法吗?
发布于 2016-04-06 22:01:25
感谢你指出这个bug,我不会在一段时间内解决这个问题的。如果有任何帮助的话,我最终向Swift添加了一个额外的objc常量bridge,并使用来自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)
...发布于 2016-06-02 19:40:27
你可以在桥接头文件中声明另一个类似的宏。假设我们在预处理定义中有MY_MACRO宏。Swift代码看不到它。在桥接头文件中,我们可以定义另一个宏:
#define MY_MACRO2 MY_MACRO现在在Swift代码中到处使用MY_MACRO2。当苹果解决这个问题时,你需要将MY_MACRO2重命名为MY_MACRO。
https://stackoverflow.com/questions/36266789
复制相似问题