我正在为iOS编写SDK,我想要验证使用我的SDK的应用程序是否链接了StoreKit.framework
,因此我运行以下命令:
if ([SKStoreProductViewController class]) {
SKStoreProductViewController *storeController =
[[ SKStoreProductViewController alloc ] init ];
// ...
}
然而,即使未链接StoreKit.framework
,[SKStoreProductViewController class
仍然返回true
。如何解决这个问题?
编辑1
正如@x4h1d所指出的,我创建了一个新的空项目,并将其添加到默认控制器中:
BOOL isStoreKitAvailable =
(NSClassFromString(@"SKStoreProductViewController") != nil);
// => YES (there is no linked frameworks at all, why I get YES?)
编辑2
我的配置文件启用了应用内购买
(不是项目本身)
来自iOS App ID:
然而,来自Xcode:
也许这就是为什么即使空应用程序也有内置的StoreKit的原因?
NSClassFromString(@"SKStoreProductViewController")
怎么样? - mattNSClassFromString(@"SKStoreProductViewController")
返回 true。 - snaggs