我正在查看一个设置了Strip Linked Product
toYES
和Strip Style
to的 Xcode 项目Non-Global Symbols
。
Apple 的开发人员文档指出,这种条带样式“剥离非全局符号但保存外部符号”。这到底是什么意思?
好像我有以下内容:
// 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
如果我理解正确的话,我可以在没有符号冲突的情况下编译并运行。那么这是如何工作的呢?