Швидка відповідь: Так, ми можемо!
Перш ніж перейти до частини " як це робиться ", ось кілька приміток про мій патч / хак / виправлення. З самого початку основними цілями були:
Зберігайте всі модифікації до абсолютного мінімуму.
Ми хочемо зберегти настройки Xcode максимально оригінальними.
Намагайтеся уникати виправлення або зміни будь-яких файлів.
Ми хочемо, щоб усі файли не торкнулися і зберігали їх початковий вміст.
Намагайтеся уникати переміщення або копіювання файлів навколо, якщо це абсолютно не потрібно.
Я зміг утримати всі ці цілі. Майже все робиться шляхом створення символьних посилань. Було замінено лише одне існуюче символьне посилання, і ми створимо резервну копію перед його заміною, про всяк випадок.
Якщо ви не є фахівцем з термінальних операцій, я настійно раджу вам скопіювати / вставити всі термінальні команди з моєї відповіді на ваш термінал, щоб уникнути помилок друку. Майте на увазі, що навіть пробіли, котирування та особливо велика літери можуть бути важливими. Скопіюйте / вставте їх за рядком, ніколи не більше ніж один рядок і натисніть клавішу повернення після кожного вставленого рядка для виконання команди. Якщо будь-яка операція коли-небудь запропонує вам ввести пароль, це буде пароль поточно зареєстрованого користувача адміністратора (ваші натискання клавіш не відображаються під час введення, це нормально, не хвилюйтесь, просто продовжуйте вводити пароль і натискаєте повернути; повторно -спробуйте, якщо у вас був помилка друку, і вам знову запропонують).
Необхідна умова
Перш ніж ми можемо розпочати, переконайтеся, що виконуються такі умови:
- Ви ввійшли як користувач адміністратора.
- Ви запустили Terminal.app (Програми / Утиліти) і відкрито вікно терміналу.
- У вас є копія зображень диска Xcode3 (наприклад, 3.2.5) і Xcode4 (DMG) або інсталятора.
- Якщо у вас вже встановлена будь-яка версія Xcode , спробуйте спочатку її видалити , так що ви можете почати з налаштування свіжого / чистого. Видалення Xcode не видалить ваші налаштування, кольорову схему чи налаштування прив’язки ключів. В ідеалі ви б почали з системи, в якій на даний момент не встановлена версія Xcode (ані 3, ані 4).
Крок 1: Встановлення Xcode3
Важливо : не встановлюйте " Системні інструменти " або " Unix Development " пакет Xcode3.
Ви хочете встановити " Mac OS X 10.4 SDK " та / або " Документація ". Якщо це Xcode3 із пакетами SDK для iOS, ви також вирішуєте, встановити ви їх чи ні.
Ви можете вибрати будь-яку папку призначення для своєї установки. Для цього посібника я вибрав " / Xcode3 ", але сміливо вибираю інший. Просто не забудьте змінити всі термінальні команди відповідно.
Порядок кроків, наведених тут, зазвичай не дуже важливий, але я настійно раджу не змінювати місцями на кроці 1 та кроці 2. Xcode завжди встановлює пару файлів за межами вибраної папки призначення та довіряйте мені, врешті-решт, ви хочете Версії Xcode4 цих файлів на вашому диску. Встановивши Xcode3 перед Xcode4, ви можете бути впевнені, що Xcode4 замінить ці файли, якщо це необхідно. Одного разу я поміняв місцями кроки 1 і 2, і врешті-решт у мене виникли досить дивні проблеми, які могли бути пов’язані з неправильним порядком (я не можу сказати точно, але після перевстановлення в правильному порядку проблеми не було).
Крок 2: Встановлення Xcode4
Вибирайте будь-які пакети, які вам подобаються. Встановлення " Системних інструментів " доцільно, але не суворо необхідно (хоча більшість людей рано чи пізно пропустять цю функціональність).
Знову ж таки, сміливо вибирайте будь-яку цільову папку, яка вам подобається. Для цього посібника я вибрав звичайну цільову папку " / Developer ", якщо ви берете іншу, відповідно змініть всі термінальні команди.
Крок 3: Відновлення підтримки 10.4 / 10.5 SDK
Перейдіть у вікно вашого терміналу і запустіть такі команди:
cd / Developer / SDK
sudo ln -s /Xcode3/SDKs/MacOSX10.4u.sdk.
sudo ln -s /Xcode3/SDKs/MacOSX10.5.sdk.
Звичайно, запустіть команду лише для 10.4u, якщо ви також встановили SDK 10.4 на кроці 1.
Цього достатньо для повернення SDK 10.5 (а можливо, 10.4) до списку вибору в Xcode4. Спробуйте, якщо вам подобається. Запустіть Xcode4, відкрийте проект, спробуйте змінити вибраний SDK. Це було легко, так? Не забудьте знову закрити Xcode4 (додаток, а не лише вікно), перш ніж перейти до наступного кроку.
Крок 4: Відновлення підтримки GCC 4.0
Якщо ви не встановили MacOS 10.4 SDK або не плануєте ніколи його використовувати, можете сміливо пропустити цей крок і перейти до кроку 5.
Щоб використовувати SDK 10.4, вам доведеться використовувати GCC 4.0, GCC 4.2 не працюватиме. Apple стверджує, що GCC 4.2 не сумісний із SDK 10.4, ну якщо ви запитаєте мене, це підступ. Я вже не раз переосмислював ці обмеження, і ніколи не виникало найменшої проблеми через це. Було б легко змінити SDK 10.4, щоб Xcode дозволив вам використовувати для нього GCC 4.2, але моєю метою було уникнути всіх модифікацій файлів, тому ми просто додамо підтримку GCC 4.0 назад до Xcode, що також непогано, тому що деякі проекти дійсно залежать від GCC 4.0 (наприклад, є деякі помилки в GCC 4.2, які перешкоджають компіляції дійсного вбудованого коду складання без помилок, тоді як той самий код бездоганно збирається на GCC 4.0 та GCC 4.4).
Повернутися до терміналу:
cd / Developer / usr / bin
sudo ln -s /Xcode3/usr/bin/*4.0*.
cd / Developer / usr / libexec / gcc / powerpc-apple-darwin10
sudo ln -s /Xcode3/usr/libexec/gcc/powerpc-apple-darwin10/4.0.1.
Зараз ми відновили повну підтримку GCC 4.0 за винятком того факту, що GCC 4.0 досі не вибирається в Xcode4. Це тому, що Xcode4 більше не має додатка компілятора GCC 4.0. На щастя, плагін Xcode3 також працює в Xcode4, лише позиція докорінно змінилася. Зараз Apple приховує ці плагіни всередині пакета, і лише плагіни, здається, спрацьовують, і розміщення їх у старому положенні, мабуть, не впливає.
cd / Developer / Library / Xcode / PrivatePlugIns
cd Xcode3Core.ideplugin / Зміст / SharedSupport / Розробник / Бібліотека / Xcode / Плагіни
sudo ln -s "/ Xcode3 / Library / Xcode / Plug-ins / GCC 4.0.xcplugin".
Тепер знову запустіть Xcode4, відкрийте проект і спробуйте вибрати компілятор. У вас повинен бути GCC 4.0 у списку. Тепер ви вже можете вибрати SDK 10.4 або 10.5, GCC 4.0, і у вас не повинно виникнути проблем для створення бінарного КПП. Просто виберіть " Інше ... " для налаштування " Архітектури " та введіть вручну " ppc ", а потім змініть " Дійсні архітектури ", щоб також включити " ppc ". Ми майже закінчили, за винятком того, що спроба побудувати бінарний КПП за допомогою GCC 4.2 та SDK 10.5 все ще не вдасться.
Крок 5: Відновлення підтримки КПП для GCC 4.2
Оскільки Apple підтримує лише платформи Intel в Xcode4, не всі засоби GCC 4.2 були створені з підтримкою PPC. Є один важливий інструмент, який не підтримує КПП, інструмент має назву " як ", і це "GNU Assembler". Для компіляції бінарних файлів ppc / ppc64 з GCC 4.2 нам потрібно використовувати версію " as " з підтримкою ppc / ppc64. Це єдиний файл (насправді це також посилання), який ми маємо спершу відсунути (створивши резервну копію), перш ніж ми зможемо замінити його на посилання:
cd /Developer/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1
sudo mv як as.bak
sudo ln -s / Xcode3 / usr / bin / as.
Крок 6: Немає кроку 6
Це все, шановні. Зважаючи на те, наскільки це було просто, ви можете уявити, що Apple, безумовно, не відмовилася від підтримки SDK 10.4 / 10.5 або ppc / ppc64 або GCC 4.0, оскільки це було необхідністю, вони все це відкинули, бо хотіли її скинути.
Я сподіваюся, що ця установка працює так само добре, як і для мене. Мені вдалося зібрати всі мої старі проекти в Xcode4 без будь-яких істотних змін, за винятком того, що потрібно змінювати шлях пошуку тут і там.
PS:
Може здатися дивним, що я відповідаю на власне запитання тут, але, оскільки я з'ясував, як вирішити цю проблему самостійно, я хотів би поділитися своїми знаннями з громадою, тому що я вважаю, що це справді цінний внесок у всі розробники MacOS там. Це запитання було задано стільки разів у стільки місцях, і поки що я ніколи не бачив, щоб хтось придумав подібне виправлення. Діліться багатством, поширюйте знання тощо, ви знаєте, що я маю на увазі.
Якщо у вас все ще виникають проблеми / запитання:
Якщо у вас є додаткові запитання щодо цієї теми або якщо у вас все ще виникають проблеми зі складанням своїх старих проектів, будь ласка, зробіть те, для чого було розроблено переповнення стека: Клацніть на "Задати питання" у верхньому правому куті цієї сторінки та створіть нове запитання. . Таким чином, уся громада може допомогти вам вирішити ці проблеми, оскільки проблеми можуть не бути безпосередньо (можливо навіть навіть опосередковано) не пов'язані з цим злом.
Я б рекомендував вам згадати той факт, що ви застосували цей злом на самому початку свого питання. Можливо, ви навіть хочете безпосередньо зв’язатися з цим питанням, щоб люди, які ніколи не чули про цей злом, могли його легко шукати. Інакше більшість людей будуть досить заплутані, коли ви згадуєте SDK 10.4 / 10.5, PPC або GCC 4.0 у поєднанні з Xcode4, який офіційно не підтримує жодного з них. Ви можете отримати досить дурні коментарі замість гідних відповідей, якщо забудете згадати цей хак.
Будь ласка, не утримуйте тут свої запитання чи відповіді, як відповіді чи коментарі. Опублікувати їх у відповіді не має сенсу, оскільки вони не мають відповідей, і немає способу, як люди можуть відповісти вам, окрім використання коментарів та коментарів, можливо, не запропонуйте достатньо місця для гідної відповіді на ваше запитання або гідного рішення вашого питання. проблема. І розміщення їх як коментарів означає, що ви обмежені дуже мало місця, а відслідковувати коментарі з відповідями буде важко, оскільки коментарі не мають ієрархії, що нагадує дерево (далі вони все ще пропонують небагато місця для гідних відповідей / рішень). Дякую.
Звичайно, інші види коментарів, а також кращі відповіді на оригінальне запитання завжди вітаються ;-)