我正在查看将Strip Linked Product
设置为YES
并将Strip Style
设置为Non-Global Symbols
的Xcode项目。
Apple's developer doc表示此条样式“剥离非全局符号但保存外部符号”。这究竟意味着什么?
好像我有以下内容:
// Foo.h
@interface Foo : NSObject
- (void)doSomething;
@end
// Foo.m
@implementation Foo
- (void)doSomething { NSLog(@"Something"); }
@end
如果我将其编译为框架的一部分,我可以在一个单独的项目中包含此框架并添加以下内容:
// MyFoo.h
@interface Foo : NSObject
- (void)doSomething;
@end
// MyFoo.m
@implementation Foo
- (void)doSomething { NSLog(@"Something else"); }
@end
如果我理解正确的话,我可以在没有符号冲突的情况下编译并运行。那么这是如何工作的?