我有如下组装,它将从plist
开始release {
debuggable false
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
当app加载时会创建实例并注入相关位置
然后我有一些静态方法需要使用它,所以我尝试了下面的
@implementation classAAssembly
- (id)classA {
return [TyphoonDefinition withClass:[classA class] configuration:^(TyphoonDefinition *definition) {
definition.scope = TyphoonScopeSingleton;
}];
}
问题是,当我这样做时,它会给出新的实例,我期待的是在应用程序加载时创建的相同实例。
任何帮助将不胜感激。
答案 0 :(得分:2)
您正在上面创建一个新程序集。你需要做的是获得one created using plist integration的句柄。例如,要从应用程序委托访问程序集,请将其注入其中。
要从静态方法访问程序集,您必须创建一个指向它的静态指针:
- (void) typhoonDidInject {
myStaticAssembly = this.assembly
}