Мое приложение использует ARC, и у меня возникли проблемы с программным обеспечением сторонних производителей, которое его не использует.Я могу преодолеть это, установив -fno-objc-arc на этапе сборки.Однако я остаюсь с проблемой, когда один ViewController аварийно завершает работу pp, потому что он вызывается дважды.
Я попытаюсь объяснить ...
В моем собственном TableView я выбираю строку, которая вызываетГородской дирижабль StoreFront.Насколько я вижу, это выглядит как модальное окно.Это TableView, который непосредственно указывает на DetailView элемента, который я выбрал в моем TableView.Я покупаю предмет, и он начинает загружаться.У меня есть делегат от Urban Airship, который сообщает мне в моем TableView, когда предмет находится в безопасном месте на телефоне.I [self dismissModalViewControllerAnimated: YES];UAStore в конце этого делегата в моем собственном TableView и вернуть мой TableView.
Все работает просто отлично.
Проблема возникает, когда я выбираю новый продукт для покупки.Я получаю доступ к UA DetailView, но как только я нажимаю кнопку «купить», приложение вылетает.
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Pushing the same view controller instance more than once is not supported (<UAProductDetailViewController: 0x3a35e0>)'
Мне кажется, что UAProductDetailViewController не выпущен.Файлы реализации Urban Airship находятся в библиотеке, поэтому они не доступны для настройки.Я пробовал много разных вещей, чтобы выбраться отсюда.
[[DataModel sharedModel] saveContext];
[[self tableView] reloadData];
// LessonListViewController *lessonListVC = [[LessonListViewController alloc] initWithNibName:@"LessonListView" bundle:nil];
UserData *UserData_Array = [dm.UserData_Array objectAtIndex:0];
// lessonListVC.courseID = UserData_Array.current_levelName;
// lessonListVC.lessonsArray = UserData_Array.current_level;
NSLog(@"Current level name:%@",UserData_Array.current_levelName);
NSLog(@"Lessons array:%@",UserData_Array.current_level);
// lessonListVC.navigationItem.hidesBackButton = YES;
// [self.navigationController popToViewController:lessonListVC animated:YES];
// [UAProductDetailViewController removeFromParentViewController];
self.tabBarController.tabBar.hidden = NO;
[self dismissModalViewControllerAnimated:YES];
Но пока ничего не получалось.Надеюсь, кто-то может следовать моему несколько запутанному описанию и сохранить волосы.
** Вызов NSLog в viewDidUnload UADetailViews не вызывается, когда я возвращаюсь к своему собственному TableView.