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
これを正しく理解していれば、シンボルが衝突することなくコンパイルして実行できます。では、これはどのように機能するのでしょうか。