Ответ 1
Если это ошибка Apple, тогда похоже, что вам нужно сделать это. Как только пользователь нажимает кнопку, вы всегда можете написать что-то вроде этого:
[self performSelector:@selector(notifyUserOfRestrictedAccess) withObject:self afterDelay:.5];
В делегате приложения вы можете установить свойство, например:
- (void)applicationWillResignActive:(UIApplication *)application {
self.openingExternalProgram = YES;
}
В вашем контроллере просмотра создайте способ следующим образом:
-(void) notifyUserOfRestrictedAccess {
if (!appDelegate.openingExternalProgram) {
// Message the user via UIAlertView about restricted Safari access
}
appDelegate.openingExternalProgram = NO;
}
Я уверен, что есть лучшие способы, но по крайней мере вам не нужно ждать Apple.