Я реализую интерфейс покупки приложения StoreKit in-app, и хотя кажется, что SKStoreProductViewController
обрабатывает ландшафт на iPad, он, похоже, не делает этого для моего приложения на iPhone (он универсален).
Интерфейс SKStoreProductViewController
настолько ограничен, я никак не могу манипулировать VC
. Кто-нибудь еще сталкивается с этим? Любые рабочие обходы?
Когда я запускаю код, который работает на iPad, SKStoreProductViewController
поступает с левой стороны, примерно на дюйм, и висит там до увольнения. Кажется функциональным, но это испортило VC, который выскочил после увольнения.
Здесь код:
// Set up the store vc (creating it if not already done)
if (self.storeVC == nil) self.storeVC = [[SKStoreProductViewController alloc] init];
self.storeVC.delegate = self;
NSDictionary *params = [NSDictionary dictionaryWithObject:appID forKey:SKStoreProductParameterITunesItemIdentifier];
// Set up a HUD in case connecting to the store takes a while
[MBProgressHUD showHUDAddedTo:self.view animated:YES];
[self.storeVC loadProductWithParameters:params
completionBlock:^(BOOL result, NSError *error) {
[MBProgressHUD hideHUDForView:self.view animated:YES];
if (result) {
[self presentViewController:self.storeVC animated:NO completion:^{
}];
}
}];
Еще лучше, у нас такая же проблема на GKHostedAuthenticateViewController
, которая является обработчиком view, возвращаемым из метода:
GKLocalPlayer.authenticateHandler = ^(UIViewController *loginVC, NSError *error) {};
Повторить: оба они находятся в портретном режиме на iPhone (но не в iPads), и они заставляют пользовательский интерфейс перейти в портретный режим. По возвращении пользовательский интерфейс приложения испорчен.