Xcode 4.5 Автоматическое изменение файлов .xib
Так как я обновился до Xcode 4.5, я обнаружил, что он автоматически удаляет раздел каждого xib файла, который я посещаю. Вот раздел:
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<real value="1536" key="NS.object.0"/>
</object>
Я могу почти жить с этим, но когда я снова заходим в файл, я нахожу, что есть еще более "автоматические" изменения. Они более разнообразны и сложнее охарактеризовать, поэтому я не буду включать примеры, если мне это действительно нужно.
Я не понимаю, что здесь происходит. Я ищу один из двух ответов:
- Есть ли способ отключить это?
- Почему это происходит, и есть ли способ заставить Xcode применять эти изменения ко всем xib файлам, чтобы я мог сделать это?
Я бы чувствовал себя намного лучше, если бы понял, что происходит, и почему.
Ответы
Ответ 1
Из того, что я видел, Xcode автоматически переформатирует nibs, добавив/удалив из файлов .xib
по мере необходимости. Ничто не кажется функционально другим для моих целей, когда я это имел.
Просто для SEO, я расскажу об этом, так как это очень важно при отслеживании изменений в управлении версиями, таких как Git. Каждый раз, когда я открываю старые .xib
файлы в Xcode (я использую 5.0), они автоматически меняются и отображаются в моем средстве проверки клиента Git.
ПОПРОБУЙТЕ ЭТО:
* (Если вы не используете Git или некоторый контроль версий, настройте репо для проекта, чтобы проверить это.)
-
Посмотрите, есть ли оставшиеся немодифицированные .xib
, которые вы можете открыть, не изменяя их.
-
Выберите/просмотрите, но ничего не меняйте.
-
Теперь выберите/просмотрите другой файл в навигаторе проекта. Если рядом с .xib
отображается "M", перестройте проект и убедитесь, что он одинаковый.
Если вы хотите проигнорировать их, для целей контроля версий просто убедитесь, что не выполняете/не выполняете их, если вы не намеренно вносите им какие-либо изменения.
Если вы хотите "отменить" автоматически измененный файл (ы):
- Щелкните правой кнопкой мыши файл в навигаторе проекта.
- Перейдите в раздел "Контроль источника" → > "Отменить изменения..."
ИЛИ, отбросьте их через Git или ваш инструмент управления версиями по выбору.
Ответ 2
есть способ отключить это, но он не лишен собственных проблем (см. ниже). Вы можете показать xib файл в Finder, Get Info в файле, а затем в разделе General, выберите Locked.
Проблема 1: Если вы используете элемент управления источником, как и большинство людей, вы не сможете проверить предыдущую фиксацию или reset свою ветку на более раннюю фиксацию, пока вы не разблокируете все файлы, которые будут изменены операцией.
Проблема 2: Теперь, каждый раз, когда вы просматриваете файл в IB, всплывающее окно сместится вниз с вершины окна xCode, где заголовок /
"MBPreDeliveryComplete.xib" заблокирован для редактирования, и вы не сможете сохранить свои изменения. Вы хотите разблокировать его?
И это сообщение:
"MBPreDeliveryComplete.xib" в настоящее время заблокирован, поскольку он помечен как "Заблокирован в Finder".
С кнопками, позволяющими разблокировать или не разблокировать файл. Конечно, вы можете не разблокировать файл, если только вы на самом деле не собираетесь вносить изменения.