求助:我发现苹果健康中的好多类都不能用 init 方法创建,- (instancetype)init NS_UNAVAILABLE,有什么方法能够让我们手机创建一个吗?

求助:我发现苹果健康中的好多类都不能用 init 方法创建,- (instancetype)init NS_UNAVAILABLE,有什么方法能够让我们手机创建一个吗?

一般都是其他方法返回的呀

是的,我这里想手动创建一个,不知道有没有可能?

比如哪些类?直接上代码看看

可是即使你手动创建了,里面如果有私有变量没有初始化也没用呀,,

上面不是有defaultSource么。用那个。这是单例设计模式,如果您做过正向的话这玩意儿类似于NSFileManager

    HKSource * source = class_createInstance(objc_getClass("HKSource"), 0);
    [source setValue:@"My Name" forKey:@"name"];
    [source setValue:@"com.0xbbc.hook.healthykit" forKey:@"bundleIdentifier"];
    NSLog(@"the %@", source);

have fun

1 个赞

突然想起来,如果只是欺骗app的话,倒是没问题,

这么大的defaultSource,用这个不行吗?

谢谢大家的回复,我正在尝试。
https://stackoverflow.com/questions/29312686/understanding-results-from-hksourcequery-or-sources-in-general
有点被这个误导,一直纠结于 init 创建!