Работает на моем приложении с флеш-картой. Полностью сбит с толку. Много возможно существенной информации.Проект Xcode работает в симуляторе, а не на устройстве
У меня есть версия, которая работает безупречно, как в симуляторе, так и на нескольких устройствах. Но я ошибся при отправке в App Store (неправильный идентификатор и имя Bundle), поэтому я создал новый проект и скопировал и вставил код и раскадровку. (Я не просто перетащил файлы, я их воссоздал и копировал код.)
Первая проблема заключалась в том, что она не строилась, потому что «дублировать символ _answers в« RootViewController.o »и« DescendantViewController.o ». И было 3 таких повторяющихся символа.
Да, я объявил NSMutableArray *answers
во внедрении обоих моих RootVC и DescedantVC, поэтому я признаю это подозреваемым, за исключением ... это тот же самый код, что и в версии, которая работает.
Тем не менее, я видел возможность очистить свой код, поэтому я создал @property (weak, nonatomic) NSMutableArray *answers
в своем RootVC и изменил код в корневом и потолочном контроллерах View для ссылки self.answers
. Он компилируется без каких-либо проблем.
Он отлично работает в тренажере. Поскольку я только что скопировал всю базу кода в новый проект, я тестирую все - никаких проблем. Я очень взволнован, поэтому я делаю все шаги, чтобы отправить в App Store, кроме последнего, «Отправить для обзора».
Я хочу показать своему другу, поэтому я прикладываю свой iPhone 6, скомпилирую его, запускаю и когда выбираю «Играть» - сбой!
Следующая линия является виновником.
answers = [self pickWrongAnswersIgnoringCard:questionCard];
И в имитаторе и на устройстве, последняя строка этого метода является:
return wrongAnswers;
В обоих случаях wrongAnswers
представляет собой массив с 3 пунктов.
В тренажере answers
также имеет 3 позиций. На моем iPhone answers
- это нуль.
Кто-нибудь знает, что это может быть? Единственное, что я могу придумать, это то, что я создал проект, который работает более года назад, и тот, который терпит неудачу сегодня, поэтому, возможно, некоторые настройки Apple в этих двух проектах различны? В противном случае я в тупике.
Надеюсь, у кого-то есть идея.
Спасибо.
P. S. Я смотрел другие сообщения здесь, на StackOverflow, но никто мне не помог.
EDIT: функция, по запросу:
-(NSMutableArray *)pickWrongAnswersIgnoringCard:(FlashCard *)questionCard {
NSMutableArray *wrongAnswers = [[NSMutableArray alloc] init];
FlashCard *randomCard;
for (int i=1; i<4; i++) {
do {
randomCard = [self pickARandomCardFromDeck:wrongAnswersSource];
} while ([randomCard.name isEqualToString:questionCard.name] || [wrongAnswers containsObject:randomCard]);
[wrongAnswers addObject:randomCard];
}
return wrongAnswers; // device or simulator, wrongAnswers.count = 3
}
Можете ли вы отправить сообщение, где вы получаете возврат за неправильные уведомления? – Siriss
Включили ли вы зомби в отладочной версии? – bneely
Линия, которую вы указываете как преступник, не должна вызывать аварии, по крайней мере, не сама по себе. Что на самом деле не удается? (Stack trace?) –