- Первое приложение под OS X
- Начало
- Xcode mac os как запустить
- Xcode
- Downloading and updating Xcode
- Using Xcode
- Submitting apps to the App Store using Xcode
- Learning about changes to Xcode
- Minimum requirements and supported SDKs
- Legend
- Providing feedback and reporting bugs
- Invalid private key and certificate pairing
- Apple security updates
Первое приложение под OS X
Начало
Для начала, если у Вас еще не установлено приложение Xcode, то Вам следует его установить из App Store. На момент написания данного раздела актуальной версией Xcode была 5.0, версией OS X — 10.9.
Если Xcode установлено, то начнем с его запуска.
Выберите в меню Xcode: File > New > Project.
В появившемся диалоге выберите OS X Application, Cocoa Application и нажмите Next.
Далее введите наименование Вашего первого приложения, пусть оно будет First app, и, что очень полезно, введите префикс для Ваших классов, который будет автоматически генерироваться при создании новых классов системой Xcode. Префикс должен быть уникальным, чтобы избежать конфликта пространства имен. Большинство классов Cocoa имеют префикс NS , пусть в нашем первом приложении будет префикс mb .
Далее выведится диалог, в котором необходимо выбрать место для сохранения проекта на диске.
Итак, Xcode создало начальный макет нашего первого OS X Cocoa приложения, в инспекторе файлов проекта мы увидим следующее дерево файлов:
|
Нажмем кнопку Run, или Cmd+R, или в меню выберем Product > Run, чтобы собрать и запустить проект.
Вы должны увидеть пустое окно с заголовком, содержащем название нашего проекта, а также в системной области меню,- меню приложения.
Закроем окно приложения, при этом само приложение будет продолжать работать и висеть в доке. Чтобы прекратить его работу необходимо выйти через меню приложения, (в нашем случае) First app > Quit First app, или комбинацией Cmd+Q.
Чтобы изменить это поведение реализуем один из методов делегата приложения, чтобы приложение завершало свою работу после закрытия последнего окна. Для этого откроем файл mbAppDelegate.m и добавим следующий метод:
Вновь запустим приложение, и закроем окно. Как видим теперь при закрытии окна приложение прекращает свою работу.
Реализация вышеприведенного метода по умолчанию возвращает NO .
Выберем в инспекторе файлов проекта MainMenu.xib, в инспекторе объектов выделяем объект Window, в редакторе отобразится форма нашего главного окна приложения.
В инспекторе элементов управления находим и перетаскиваем на форму окна два элемента ввода Text Field, один элемент Wrapping Label, и одну кнопку Push Button:
Расставим элементы на форме окна следующим образом:
Дальше, чтобы добавить интерактивность в приложение и сделать его хоть малость функциональным, необходимо получить возможность получать и предоставлять данные из и в поля ввода и отображения текста. Для этого в заголовочном файле mbAppDelegate.h пишем следующие объявления заключенные в фигурные скобки:
IBOutlet — компиляторная опция Xcode, сообщающая, что переменная является указателем на объект в связанном nib файле.
Собственно после добавления вышеприведенных объявлений соединим их с элементами на форме. Для этого опять выделим MainMenu.xib и переведем редактор в режим Assistant editor.
В альтернативном окне редактора выберем для отображения файл mbAppDelegate.h
Напротив каждого вновь задекларированного свойства IBOutlet появится пустой кружок, нажав который необходимо протянуть связь к соответствующему элементу на форме главного окна. Как только указатель связан, кружок заполнится.
Таким образом соединяем все три указателя с соответствующим текстовым полем в окне.
Теперь создадим обработчик события нажатия на кнопку. Для этого выделим кнопку в окне и зажав правую кнопку мыши перетащим связь в окно редактора mbAppDelegate.h за пределы фигурных скобок, как показано ниже.
Отпустим правую кнопку мыши и в появившемся диалоге выберем создание Action, а также введем имя обработчика события, например clickSumm. Нажимаем Connect, и наш метод обработки события нажатия кнопки создан.
Таким-же способом можно было создать и указатели на элементы управления, но Xcode создаст их как свойства класса, с геттерами и сеттерами, видимыми другим классам, и если Вам нет надобности в видимости их за пределами классов, лучше сделать как описано выше, избежав создания кода геттеров и сеттеров.
Далее перейдем в режим редактора Standart Editor, выберем файл mbAppDelegate.m , и отредактируем вновь созданный метод:
Данный метод объединяет две введенные, в поля ввода, строки в одну через пробел, с помощью метода форматирования строк, и полученную новую строку присваивает свойству stringValue элемента NSTextField .
Запустим приложение, введем текст в поля ввода и нажмем кнопку. Результат: объединенные через пробел строки в поле Wrapping Label.
Добавим еще две кнопки в главное окно и аналогично создадим для каждой обработчик clickUp и clickDown соответственно.
Отредактируем созданные обработчики событий нажатия кнопок в файле mbAppDelegate.m .
Первый метод приводит содержимое элемента Wrapping Label к верхнему регистру, второй к нижнему.
Запустим приложение и проверим, что все работает.
Источник
Xcode mac os как запустить
После выхода IOS 14.5 появилась серьезная проблема для тех, кто ведет разработку под macOS Catalina. Для нормальной работы нужен Xcode 12.5 которому нужна macOS Big Sur
А это, чаще всего, требует обновления железна.
Да, есть патчи для самого Xcode с подменой SDK, но мне этот путь крайне не нравится т.к. имеет очень большие ограничения и не особо пригоден для нормальной разработки.
Вопросов приходит все больше. Решил описать подробней.
Предлагаю проверенный (на мой взгляд самый удачный, на сегодня) способ установки macOS Big Sur на Mac 2010+
Лично проверено на macMini Late 2012 (Macmini 6,1), MacBook Air 11 Mid 2011 (MacBookAir 4,1), MacBookPro 15 Mid 2012 (MacBookPro9,1), Mac mini Mid 2010 (Macmini 4,1)
На всех аппаратах стоит SSD и 8/16 памяти (кроме Air. на нем 4 по понятным причинам)
Продолжаем тестирование на других аппаратах.
Что получите на выходе:
Mac с установленной и полностью работающей Big Sur. Сама система не имеет никаких отличий в функционале от установленной на официально поддерживаемом железе.
Отдельно хочу отметить для тех, кто читает не внимательно. Описанный способ установки касается только компьютеров Apple. У хакинтошей свой путь.
Какие есть нюансы:
— не будет работать графическое ускорение
— работа wifi адаптера на основной массе устройств станет возможна только после установки соответствующего патча. На время установки стоит использовать подключение по Ethernet
— работа USB на аппаратах 2010 и некоторых моделях 2011 года (более новых это не касается) станет возможна только после установки патча. Если это не ноут, то стоит использовать bt клавиатуру и мышь.
— обновление Big Sur ставятся не через дельта-обновления, а через полны апдейт системы. Это чуть дольше, но позволяет избежать многих проблем.
— нужно понимать, что сама система рассчитана на новые компы. на старых, особенно 2010-2011 будет притормаживать. Не критично, но.
Для установки используем патч от #BenSova https://github.com/BenSova/Patched-Sur/releases
Провереная версия патча — Patched Sur v1.0.0 (22.08.2021)
Mac OS — Big Sur 11.6
ВАЖНО! На 1 октября 2021официальный репозитарий не работает. Выкладываю архив сюда macOS Big Sur Patcher.zip ( 23,34 МБ )
(Сейчас активно развивается патчер OpenCore. Кому интересно: https://github.com/dor…penCore-Legacy-Patcher)
Перед установкой стоит ознакомится с официальным описание от автора https://bensova.gitbook.io/big-sur/
ВАЖНО! Патч еще в разработке и могут быть не очень корректные действия. Сам не встречал, но все может быть.
Кто ранее использовал подобный патч от #dosdude1 для установки Catalina / Mojave / High Sierra , увидят много схожего в процессе.
ВАЖНО! Обязательно сделайте резервную копию с помощью Time Machine. Это защитит данные и упростит их восстановление.
ВАЖНО! Все дальнейшие действия вы делаете добровольно на свой страх и риск.
Сам процесс:
1. Качаем Patched-Sur.dmg с https://github.com/BenSova/Patched-Sur/releases и запускаем
2. Запускаем патч.
3. Читаем вводную информацию.
4. Выбираем версию Big Sur для загрузки и создания установочной флешки. Для компьютеров 2010 стоит скачать 11.2.3 и потом обновить.
ВАЖНО! Нужна флешка 16Gb отформатированная Mac OS Extended (журналируемый) со схемой разделов GUID
5. Патч сам скачает выбранную версию (12Gb) и предложит выбрать флешку для создания установщика. Это процесс не быстрый. Запаситесь терпением.
6. Когда флешка будет готова, выключите компьютер и запустите его с зажатым Alt (Option). В списке загрузчиков выберите EFI Boot (это патч загрузчика). Он отработает и выключит компьютер.
7. Снова запускаем компьютер с зажатым Alt (Option). В списке загрузчиков выберите Install macOS Big Sur. Это стандартный установщик macOS. Диск, куда будет выполняться установка, нужно отформатировать в APFS со схемой разделов GUID
8. Установите macOS
9. После установки может быть 2 пути. 1 — все ок и система сама загрузится. 2 — во время загрузки будут ошибки.
— если возникли ошибки, снова запускаем компьютер с зажатым Alt (Option). В списке загрузчиков выберите Install macOS Big Sur. Поле загрузки выбираем Patched Sur (Post Install). Ставим все патчи и перезагружаем компьютер.
10. После загрузки системы стоит восстановить все данные из копии Time Machine
— после удачной загрузки (и восстановления) macOS в программах находи Patched Sur и запускаем его. Ставим все необходимые патчи и кексты.
— если это программы нет, стоит ее скопировать из корня установочной флешки в папку /Application или скачать Post-Install-App.dmg с https://github.com/BenSova/Patched-Sur/releases и запустить его
Что стоит сделать на последок:
Если у вас SSD не от самого Apple, то нужно принудительно включить режим TRIM
в терминале выполните команду
после ввода пароля, подтверждения действий и завершения процесса — компьютер будет перезагружен без особых предупреждений
Еще. Не рекомендую использовать FileVault. Но это касается не только патченной системы, но и любой обычной. Нет смысла себе создавать дополнительный гемор.
Если возникли проблемы с запуском приложений MS Office, то работает прежний рецепт
вот здесь подробно (чтобы не копировать) Программы для macOS (Пост t.r.o.n. #104169751)
ВАЖНО! Не забывайте обновлять Patched Sur и mac os через него.
Источник
Xcode
Xcode is a complete developer toolset for creating apps for Mac, iPhone, iPad, Apple Watch, and Apple TV. Xcode brings user interface design, coding, testing, debugging, and submitting to the App Store into a unified workflow.
Downloading and updating Xcode
The current release of Xcode is available as a free download from the Mac App Store. The Mac App Store will notify you when an update is available or you can have macOS update automatically as it becomes available.
The latest beta version and previous versions of Xcode can be downloaded from the Downloads page. To download Xcode, simply sign in with your Apple ID. Apple Developer Program membership is not required.
Using Xcode
Get step-by-step guidance on how to use Xcode to build, test, and submit apps to the App Store.
Submitting apps to the App Store using Xcode
Xcode provides an integrated workflow for Apple Developer Program members to prepare and submit apps to the App Store. Use the latest version of Xcode available on the Mac App Store to submit your apps or, when available, the latest Release Candidate from the Downloads page.
Don’t submit apps built using beta software, as beta versions of Xcode, Operating Systems, and SDKs are for development and testing only.
Learning about changes to Xcode
To learn about the latest features and capabilities in Xcode, see What’s New in Xcode. For update details in the latest released versions, including each beta release, see the Xcode Release Notes.
Minimum requirements and supported SDKs
Xcode Version | Minimum OS Required | SDK | Architecture | Deployment Targets | Simulator | Swift |
---|---|---|---|---|---|---|
Xcode 13 | macOS Big Sur 11.3 | iOS 15 macOS 11.3 tvOS 15 watchOS 8 DriverKit 20.4 | x86_64 armv7 armv7s armv7k arm64 arm64e arm64_32 | iOS 9-15 iPadOS 13-15 macOS 10.9-11.3 tvOS 9-15 watchOS 2-8 DriverKit 19-20.4 | iOS 10.3.1-15 tvOS 10.2-15 watchOS 3.2-8 | Swift 4 Swift 4.2 Swift 5.5 |
Xcode 13 beta | macOS Big Sur 11.3 | iOS 15 macOS 12 tvOS 15 watchOS 8 DriverKit 21 | x86_64 armv7 armv7s armv7k arm64 arm64e arm64_32 | iOS 9-15 iPadOS 13-15 macOS 10.9-12 tvOS 9-15 watchOS 2-8 DriverKit 19-21 | iOS 10.3.1-15 tvOS 10.2-15 watchOS 3.2-8 | Swift 4 Swift 4.2 Swift 5.5 |
Xcode 12.5.1 | macOS Big Sur 11 | iOS 14.5 macOS 11.3 tvOS 14.5 watchOS 7.4 DriverKit 20.4 | x86_64 armv7 armv7s armv7k arm64 arm64e arm64_32 | iOS 9-14.7 iPadOS 13-14.7 macOS 10.9-11.5 tvOS 9-14.7 watchOS 2-7.6 DriverKit 19-20.4 | iOS 10.3.1-14.5 tvOS 10.2-14.5 watchOS 3.2-7.4 | Swift 4 Swift 4.2 Swift 5.4 |
Xcode 12.5 | macOS Big Sur 11 | iOS 14.5 macOS 11.3 tvOS 14.5 watchOS 7.4 DriverKit 20.4 | x86_64 armv7 armv7s armv7k arm64 arm64e arm64_32 | iOS 9-14.6 iPadOS 13-14.6 macOS 10.9-11.4 tvOS 9-14.6 watchOS 2-7.5 DriverKit 19-20.4 | iOS 10.3.1-14.5 tvOS 10.2-14.5 watchOS 3.2-7.4 | Swift 4 Swift 4.2 Swift 5.4 |
Xcode 12.4 | macOS Catalina 10.15.4 (Intel-based Mac) |
macOS Big Sur 11
(Apple silicon Mac)
macOS 11.1
tvOS 14.3
watchOS 7.2
DriverKit 20.2
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iPadOS 13-14.4
macOS 10.9-11.1
tvOS 9-14.3
watchOS 2-7.2
DriverKit 19-20.2
tvOS 10.2-14.3
watchOS 3.2-7.2
Swift 4.2
Swift 5.3
macOS Big Sur 11
(Apple silicon Mac)
macOS 11.1
tvOS 14.3
watchOS 7.2
DriverKit 20.2
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iPadOS 13-14.3
macOS 10.9-11.1
tvOS 9-14.3
watchOS 2-7.2
DriverKit 19-20.2
tvOS 10.2-14.3
watchOS 3.2-7.2
Swift 4.2
Swift 5.3
macOS Big Sur 11
(Apple silicon Mac)
macOS 11
tvOS 14.2
watchOS 7.1
DriverKit 20
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iPadOS 13-14.2
macOS 10.9-11
tvOS 9-14.2
watchOS 2-7.1
DriverKit 19-20
tvOS 10.2-14.2
watchOS 3.2-7.1
Swift 4.2
Swift 5.3
macOS Big Sur 11
(Apple silicon Mac)
macOS 10.15.6
tvOS 14
watchOS 7
DriverKit 19
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iPadOS 13-14.1
macOS 10.9-11
tvOS 9-14
watchOS 2-7
DriverKit 19
tvOS 10.2-14
watchOS 2-7
Swift 4.2
Swift 5.3
macOS 10.15.6
tvOS 14
watchOS 7
DriverKit 19
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iPadOS 13-14
macOS 10.6-10.15.6
tvOS 9-14
watchOS 2-7
DriverKit 19
tvOS 10.2-14
watchOS 3.2-7
Swift 4.2
Swift 5.3
macOS 10.15.6
tvOS 13.4
watchOS 6.2
DriverKit 19
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iPadOS 13-13.7
macOS 10.6-10.15.6
tvOS 9-13.4
watchOS 2-6.2
DriverKit 19
tvOS 10.2-13.4
watchOS 3.2-6.2
Swift 4.2
Swift 5.2
macOS 10.15.6
tvOS 13.4
watchOS 6.2
DriverKit 19
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iPadOS 13-13.6
macOS 10.6-10.5.6
tvOS 9-13.4
watchOS 2-6.2
DriverKit 19
tvOS 10.2-13.4
watchOS 3.2-6.2
Swift 4.2
Swift 5.2
macOS 10.15.4
tvOS 13.4
watchOS 6.2
DriverKit 19
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iPadOS 13-13.5
macOS 10.6-10.15.4
tvOS 9-13.4
watchOS 2-6.2
DriverKit 19
tvOS 10.2-13.4
watchOS 3.2-6.2
Swift 4.2
Swift 5.2
macOS 10.15.4
tvOS 13.4
watchOS 6.2
DriverKit 19
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iPadOS 13-13.4.x
macOS 10.6-10.15.4
tvOS 9-13.4
watchOS 2-6.2
DriverKit 19
tvOS 10.2-13.4
watchOS 3.2-6.2
Swift 4.2
Swift 5.2
macOS 10.15.2
tvOS 13.3
watchOS 6.1.1
DriverKit 19
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iPadOS 13-13.3
macOS 10.6-10.15.2
tvOS 9-13.3
watchOS 2-6.1.1
DriverKit 19
tvOS 10.2-13.3
watchOS 3.2-6.1.1
Swift 4.2
Swift 5.1
macOS 10.15.1
tvOS 13.2
watchOS 6.1
DriverKit 19
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iPadOS 13-13.2.x
macOS 10.6-10.15.1
tvOS 9-13.2
watchOS 2-6.1
DriverKit 19
tvOS 10.2-13.2
watchOS 3.2-6.1
Swift 4.2
Swift 5.1
macOS 10.15
tvOS 13
watchOS 6
DriverKit 19
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iPadOS 13-13.1
macOS 10.6-10.15
tvOS 9-13
watchOS 2-6
DriverKit 19
tvOS 10.2-13
watchOS 3.2-6
Swift 4.2
Swift 5.1
macOS 10.15
tvOS 13
watchOS 6
DriverKit 19
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iPadOS 13-13
macOS 10.6-10.15
tvOS 9-13
watchOS 2-6
DriverKit 19
tvOS 10.2-13
watchOS 3.2-6
Swift 4.2
Swift 5.1
macOS 10.14.6
tvOS 12.4
watchOS 5.3
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
macOS 10.6-10.14.6
tvOS 9-12.4
watchOS 2-5.3
tvOS 10.2-12.4
watchOS 3.2-5.3
Swift 4.2
Swift 5
macOS 10.14.4
tvOS 12.2
watchOS 5.2
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
macOS 10.6-10.14.4
tvOS 9-12.2
watchOS 2-5.2
tvOS 9-12.2
watchOS 2-5.2
Swift 4.2
Swift 5
Legend
Minimum OS Required: The version of macOS required to install this version of Xcode.
SDK: The version of SDKs included in this version of Xcode.
Architecture: The architectures supported for development by this version of Xcode.
OS: The iOS, iPadOS, macOS, tvOS, and watchOS versions supported by this version of Xcode for developing, installing, and debugging applications.
Simulator: Versions of iOS, tvOS, and watchOS simulators supported for development by this version of Xcode.
Swift: Version of Swift supported for development by this version of Xcode.
Providing feedback and reporting bugs
Your feedback goes a long way toward making Xcode even better. With Feedback Assistant, you can report issues or request enhancements to APIs and tools. Provide detailed information about issues, including your system and developer tool versions, and any relevant crash logs or console messages. To ask questions and find answers from Apple engineers and other developers, visit the Apple Developer Forums.
Invalid private key and certificate pairing
If you receive an error message saying, «Xcode could not find a valid private-key/certificate pair for this profile in your keychain,” the Keychain Access application on your Mac is missing either the public or private key for the certificate you’re using to sign your app.
This often happens when you’re trying to sign and build your app from a different Mac than the one you originally used to request your code signing certificate. It can also happen if your certificate has expired or has been revoked. Ensure that your app’s provisioning profile contains a valid code signing certificate, and that the Keychain Access application on your Mac contains that certificate, the private key originally used to generate that certificate, and the WWDR Intermediate Certificate.
For instructions on how to resolve this and other code signing errors, review the Code Signing Support page.
Apple security updates
For information on the security content of Xcode updates, visit the Apple security updates page.
Feedback Assistant
Submit bug reports and request enhancements to APIs and developer tools.
Send us feedback
Developer Forums
Ask questions and find answers by Apple engineers and other developers.
Contact Us
Tell us how we can help and we’ll find a solution by phone or email.
Источник