я пишу SDK для прошивки и я хочу, чтобы проверить, если StoreKit.framework
связан с приложением, которое использует свой SDK, так что я бег:Как проверить, использует ли приложение iOS '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?)
Edit 2
Мой Provisioning профессор Ile имеет In-App Purchase
включен (а не сам проект)
от IOS App идентификаторов:
Однако из Xcode:
Может быть, это причина, почему даже пустое приложение имеет встроенный StoreKit?
Как насчет 'NSClassFromString (@ "SKStoreProductViewController")'? – matt
Вот проблема, я думаю. Импорт отличается от загрузки. _You_ импортировал StoreKit. Таким образом, если не пытаться _use_ StoreKit и сбой, у вас нет возможности узнать, действительно ли StoreKit тоже загружен. – matt
@matt 'NSClassFromString (@" SKStoreProductViewController ")' возвращает true – snaggs