#objective-c #xcode
#objective-c #xcode
Вопрос:
У меня и моего друга есть файлы проекта, подключенные к dropbox. Таким образом, код тот же.
Затем, когда я выполняю
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Business" inManagedObjectContext:[BNUtilitiesQuick managedObjectContext]];
Я кое-что понял.
Тот же код установил значение entity равным нулю на компьютере моих друзей.
Поле BadgerNew.xcdatamodel, которое использовалось для создания managedObject, уже изменено. Моя команда сбросила симулятор iPhone и удалила приложение из симулятора iPhone, так что все это снова создается заново. Не работает.
Ответ №1:
Недостаточно информации, чтобы дать ужасно полезный ответ.
Однако DropBox — это ужасный способ поделиться проектом. Если у вас несколько человек, работающих над одной кодовой базой, то вам следует использовать какой-нибудь инструмент контроля версий; svn и git являются самыми популярными в наши дни.
Возьмите исходный код с компьютера вашего друга и загрузите его на свой собственный. Затем разделите их; opendiff MySource MyFriendsSource
. Посмотрите, в чем разница. Если ничего не отличается (маловероятно), значит, что-то отличается в конфигурации ваших двух компьютеров.
Комментарии:
1. Я могу заверить вас, что код точно такой же. То, что я добавляю, всегда отображается там.
2. На самом деле, я подключаюсь к его компьютеру, запускаю проект на его компьютере, и он работает. Я думаю, это как-то связано с тем фактом, что xcdatamodel действительно изменился. Тем не менее, я несколько раз перезагружал симулятор iPhone.
3. Мой друг может запустить приложение, если он использует какой-то профиль. Однако, если он снова запустит программу, ошибка изменится. Теперь он говорит
4. Затем ошибка становится «Модель, используемая для открытия хранилища, несовместима с той, которая использовалась для создания хранилища». Однако мы несколько раз перезагружали симулятор iPhone.
5. Похоже, что сброс не сбрасывает все; у вас есть устаревшие данные на одной машине, которых нет на другой.