我正在构建自己的框架,建议将其分发给其他开发人员,以包括他们的项目。该框架可选地链接某些框架(例如CoreLocation)。问题是,当我将我的框架链接到构建阶段中不包含 CoreLocation 的真实独立项目时,我在尝试构建此主机项目时遇到链接器错误,例如“架构的未定义符号”
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_CLLocationManager", referenced from:
objc-class-ref in MySDK(MyServerConnection.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
是否可以避免这种情况,因为我不想强迫开发人员将 CoreLocation 包含在他们的项目中?实际上,我知道这是可能的,但我应该怎么做才能做到这一点?