З будь-якою зміною коду (хоча файл не знаходиться у .pch), щоразу переробляйте проект.
З будь-якою зміною коду (хоча файл не знаходиться у .pch), щоразу переробляйте проект.
Відповіді:
Оновлення 2017/1/2
Цю проблему не вирішено в Xcode 8.2.1 (для мого проекту)
Як вижити?
Code IDE: Xcode/Atom
Build: xcrun
Debug: Xcode (Control + Command + R)
Оновлення 2016/12/17
Цю проблему не вирішено в Xcode 8.2.
Оновлення 2016/12/12
Атом до коду та командного рядка для створення та налагодження - це мій вибір зараз. Сподіваюся, що Apple незабаром виправить цю законну помилку.
Оновлення 2016/12/04
Ця проблема, як видається, вирішена за допомогою Xcode 8.2 (бета-версія 2) .
Але для мене це не вирішено, я стикаюся з цією проблемою, навіть коли використовую Xcode 8.2. Ви можете спробувати (завантажити Xcode8.2 beta2 тут )
Система побудови • Xcode не відновить цілі, коли відбулися лише невеликі зміни. (28892475)
Стара відповідь: Це робота навколо:
Вкладка "Налаштування побудови" -> "Діалект мови мови" -> Змініть її на "Компілятор за замовчуванням".
"Діалект" мови С "встановлено на" GNU99 "замість" Компілятор за замовчуванням ". Раніше стандарт був GNU99, але зараз його немає. У якийсь момент Xcode неправильно перемістив налаштування проекту бібліотеки, тому він був встановлений у GNU99. Після того, як я змінив його на GNU99, він щоразу переставав переписувати весь код!
Перейдіть до продукту -> схема -> редагувати схему. Виберіть Збірка в лівій стовпці та зніміть прапорець " Знайти неявні залежності "
Але цей прапор повинен залишатися перевіреним, коли ви будуєте проект вперше ..
Виправлення для мене було лише закриттям раскадровки, у мене був відкритий вихідний файл разом із допоміжним редактором, а також відкрився файл розкадровки (закриття розгортання --- оскільки я не вносив жодних змін до нього) видалив усі непотрібні компіляції
ОНОВЛЕНО
Найбільше покращення, яке мені вдалося досягти, - це модуляція мого проекту. Спеціально модулюючи шар ORM, який використовується майже в усіх інших класах. Перемістивши цей код в окрему ціль в рамках свого проекту та імпортувавши його як модуль, я зміг значно покращити час компіляції. Більше Xcode не вирішує перекомпілювати непотрібні файли, коли я будую збірку.
Тепер я використовую метод компіляції єдиного файлу для швидких наростаючих налагоджень.
У цьому посиланні є ще кілька хороших пропозицій, включаючи рефакторинг коду, https://medium.com/rocket-fuel/optimizing-build-times-in-swift-4-dc493b1cc5f5
СТАРИЙ
Як і раніше з багатьма з вас, я працюю над великим швидким 4 / cocoapods проектом з багатьма вихідними файлами і перекомпілюючи кожен файл кожного разу, що викликає жахливість.
Поки я отримую найкращі результати з наступними налаштуваннями. Я пропоную вам спробувати і подивитися, як це працює для вас.
Додані спеціальні налаштування, визначені користувачем,
Примітка. У мене немає встановлених користувачем налаштувань для оптимізації всього модуля.
Я змінив кілька речей зі своїм кодом щодо заголовка префікса, який, здається, вирішив цю проблему. Я не знаю, хто з них насправді зробив трюк, але я поділюсь ними всім, сподіваючись, що це допоможе комусь іншому там. Якщо у вас немає набору заголовок префікса, я думаю, це не проблема (або проблема багатогранна).
@import MyModule
). (Для мене цей і крок 1 були одним і тим же.)Якщо це все-таки не працює, ви можете спробувати видалити ще трохи імпорту із заголовка префікса. Можливо, щось підключить ...
Схоже, вони над цим активно працюють, згідно з https://forums.developer.apple.com/thread/62737, але вирішити це потрібно додати
HEADERMAP_USES_VFS = YES
під налаштуваннями збірки вашої цілі (Проект -> Ціль -> Налаштування збірки -> Визначено користувачем).
Це рішення працювало для мене кожен раз, після того як жоден інший варіант не працював послідовно за останній місяць.
EDIT: І все-таки іноді перекомпілюйте все, хоча, мабуть, це робиться набагато рідше, якщо цей параметр визначено.
Перевірте весь свій код щодо @IBDesignable
директив у моєму конкретному випадку проект збирання Xcode весь час, тому що я мав певні погляди на мою розкадровку, яка містила @IBDesignable
в ній ці атрибути. Друга річ - це те, що я також відкрив мою розкадровку в окремому вікні (а не на вкладці), тобто моє Xcode створює збірки для всіх симуляторів назавжди.
@IBDesignable
директив ... чи є щось конкретно, що нам слід шукати?
Мадхурі Мане в цьому відношенні абсолютно правий. Щоб додати трохи більше ясності, слід зазначити кілька важливих моментів:
Це ТІЛЬКО застосовно, якщо у вас є неявні залежності від бібліотек / рамок, на які покладається ваша ціль.
Якщо "Знайти неявні залежності" вимкнено:
Результат: Бібліотека не буде створена до створення цілі програми. Не вдалося створити ціль програми.
Виправлення. Щоб переконатися, що другий сценарій не відбувся, потрібно додати необхідні цілі до списку цілей і правильно їх упорядкувати.
Джерело та подальше читання по темі: https://pewpewthespells.com/blog/managing_xcode.html#scheme-action
Тепер, якщо весь ваш проект розміщений в межах однієї цілі, а для складання потрібно 4 хв., З цим ви не можете багато чого зробити, крім того, щоб розбити його на рамки, щоб скористатися вищезгаданим або зрозуміти, де компіляція відстає. Якщо ви використовуєте щось на зразок PaintCode або у вас є великі фрагменти коду UIKit, швидко змініть його на Objective-c, воно збирається набагато швидше
Apple випустила нову бета-версію Xcode вчора (14 листопада)
Xcode 8.2 beta 2
І це питання було позначено як вирішене в примітці до випуску.
Побудова системи
• Xcode не відновить цілі, коли відбулися лише невеликі зміни. (28892475)
Це працює для мене. Швидкість збирання поверталася як завжди. Усі, хто стикається з цим питанням, повинні спробувати!
Будь-ласка, перейдіть до налаштування проекту та змініть «Діалектний мову мови C».
Під час оновлення версії xcode "Діалект мови мови C" встановлено на "GNU99" замість "Компілятора за замовчуванням". У якийсь момент Xcode неправильно перемістив налаштування проекту бібліотеки, тому він був встановлений у GNU99. Це вирішить проблему
Якщо ви внесли зміни до файлу Swift, розпочніть створення програми, перейдіть на останню вкладку і натисніть на журнал збірки, під час етапу «Перевірка залежностей» зупиніть збірку та запустіть її знову. На другому запуску він повинен створювати лише ті файли, які ви змінили. Якщо все зроблено правильно, я виявив, що він працює щоразу. Не потрібно змінювати налаштування проекту.
Здається, це помилка в Xcode.
Якщо ви бачите, що додаток виконує повну збірку, зупиніть збірку та спробуйте цей трюк ще раз.
Якщо ви не внесли жодних змін до коду, використовуйте CMD + CTRL + R для запуску без створення програми, яка приєднує налагоджувач. Не створюватимуть додаток, але допоможуть заощадити непотрібний час.
Виправлена проблема з моєї сторони, застосувавши зніміть прапорець у рішенні "Знайти неявні залежності".
Але пам'ятайте, якщо ви використовуєте cocoapods, застосуйте ці налаштування також до свого проекту поділу, вибравши його
Продукт -> Схема -> Pods- "yourProjectName"
також застосувати:
Продукт -> Схема -> "yourProjectName"
Це допомагає мені, тому я сподіваюся, що ця підказка допоможе комусь іншому.
Дякую
Спробуйте: 1. Перейдіть до проекту 2. Клацніть Налаштування збірки 3. Перевірте, що для налаштування OptimizationLevel встановлено значення None (Ні). 4. Клацніть Додати визначені користувачем налаштування 5. Установіть SWIFT_WHOLE_MODULE_OPTIMIZATION на YES.
щоб збільшити час компіляції xcode, можна використовувати IRAMDISK (диск віртуальної пам'яті). Дуже корисні та ефективні засоби для скорочення часу на компіляцію.
Також можна використовувати для прискорення часто використовуваного додатка.
для завантаження та використання перейдіть за наступним посиланням: http://iramdisk.findmysoft.com/mac/