- Can I get a free apple developer certificate or I have to pay $99?
- Answers
- Как зарегистрировать аккаунт разработчика Apple Developer
- Choosing a Membership
- Who should enroll
- About the Apple Developer Program
- Benefits and resources
- Other programs
- App Store Small Business Program
- Apple Developer Enterprise Program
- Apple Video Partner Program
- iOS Developer University Program
- MFi Program
- News Partner Program
- Security Research Device Program
- Apple Developer Program Membership Fee Waivers
- Eligibility
- New members
- Existing members
- Additional details
- Сертификация в Apple Developer Center простым и понятным языком
- Что мы будем разбирать?
- Что нам понадобится?
- Ориентировка по разделам
- Терминология
- Сертификаты (Certificates)
- Сертификаты типа «Development»
- Сертификаты типа «Production»
- Intermediate Certificates
- Идентификаторы (Identifiers)
- Устройства (Devices)
- Профили (Provisioning Profiles)
- Профили типа «Development»
- Профили типа «Distribution»
- Вкратце об iTunes Connect
- Резюмируем
Can I get a free apple developer certificate or I have to pay $99?
I have tried to get a free apple account develpoer certificate but I couldn’t do that. is there way to get a free acount? Also, how can I test an app on iTunse was built by phonegap, and how I can install that app on my iPhone, another word I want to install the app on my iPhone, then I want to test it on my iPhone how i can make that. please anyone has any infirmation about my questions.
thank you for all.
Answers
• Select your account, hit the “View Details” button and wait for them to load.
• Now create the ‘signing identity’ used to create a provisioning profile used for device testing — Hit the “Create” button next to the ‘iOS development’ label. When completed, hit ‘Done’.
• Connect your device and select it as build destination via the ‘active scheme’ dropdown to the right of the play and stop icons.
• In target’s ‘General’ tab/settings:
• b. Set team id as your apple id
• c. Hit ‘Fix Issue’ button below the provisioning profile warning
— You may have to ‘Fix Issue’ more than once — keep at it so Xcode can step thru them as needed.
• Run your app with your device selected.**
Free provisioning notes/secrets/things you’ll want to know:
— The profile will be valid for 1 week, after which time you will need to recreate a new one ( repeat the same process).
— There is a limit to how many apps you can build and test to your device.
— Maximum number of devices limit is reported as 3.
— What you can/can’t do w/free provisioning is listed here:
— If this is about creating an .ipa to manually hand off, select Build For Archiving under the project menu, not ‘Run’.
— *If you have, or plan to have, a paid developer account, be sure to use a unique/different apple ID for each account.
— **Free accounts may experience issues launching apps on the watch for the first time.
Workaround: Launch the app manually on the device and click “Trust” when the security sheet appears. You should then be able to launch the app from Xcode.
Hi. I am developing on Windows using Phonegap Build (which won’t compile an Apple version without the certificate), so I can’t follow those directions you gave. Do you know how to get the free certificate under those circumstances? I tried to follow these directions. https://www.iandevlin.com/blog/2012/11/phonegap/building-an-ios-signing-key-for-phonegap-i n-windows however when it says «Now you need to go to your Apple Developer iOS Provisioning Portal in order to generate an iOS Development Certificate. Click on “Certificates” in the left hand side, and then “Request». ”, there ISN’T a «Certificates» on the left hand side of my screen to click on (several other options on the left side of the screen, but not «Certificates». Thought it might be buried in «Documention», but couldn’t find it there), so I’m confused as to how to get the certificate using Windows as that link appears to be out of date now.
I am trying to obtain a free developer enrollment for a class project I am late for. My current paid enrollment is expired and prompts me to renew, which I don’t want to do right now. I am saving for when I really will need it. Now I have heard a solution is to make a new developer account, but I really don’t want to do this, because of email, credit card, iTunes, etc. connections. Anybody know how to switch? Side note: will this cause problems to the paid enrollment?
Источник
Как зарегистрировать аккаунт разработчика Apple Developer
Пошаговое руководство по созданию учетной записи Apple Developer для ваших iOS приложений.
ВАЖНО: Apple теперь требует, чтобы все, участвующие в их программе для разработчиков, владели устройством iOS, поэтому, если у вас его еще нет, вам нужно будет его купить.
Важное примечание. Имя разработчика, указанное в iTunes App Store, зависит от типа учетной записи, выбранной из указанных ниже параметров.
В приложениях, опубликованных в индивидуальных учетных записях разработчиков, будет отображаться имя, указанное в учетной записи разработчика iOS. В приложениях, опубликованных в учетных записях разработчиков компании/организации, будет отображаться название компании, введенное в учетной записи разработчика iOS. Если ваше приложение зарегистрировано в вашей компании, вам необходимо зарегистрировать учетную запись разработчика компании/организации под названием вашей компании. Если ваше приложение является личным, вы можете зарегистрироваться в индивидуальной учетной записи разработчика. Регистрация в правильном типе учетной записи разработчика поможет поддерживать ваше приложение и учетную запись в соответствии с рекомендациями Apple и поможет в процессе модерации.
Частные лица или компании без официально признанного бизнеса (компания без номера D.U.N.S. и Bradstreet). Эта учетная запись допускает создание только одной основной учетной записи для учетной записи разработчика iOS. Кроме того, имя разработчика, которое будет опубликовано (в App Store), будет вашим именем и фамилией. Если вы предпочитаете, чтобы название компании отображалось в качестве имени разработчика, вам необходимо настроить свою учетную запись как компанию/организацию.
Юридически признанные компании с номерами D.U.N.S. и Bradstreet могут выбрать эту опцию. Это позволит создавать и управлять несколькими именами пользователей с различными возможностями для каждого входа. Также, такой тип аккаунта необходим, если разрабатывается приложение webview, такое, как делает Appverter.
Если ваше приложение зарегистрировано в вашей компании (в отличие от отдельного лица), вам нужно будет зарегистрироваться в качестве компании/организации, и для этого вам нужно будет указать номер D.U.N.S. Если вы не уверены, есть ли в вашей компании номер D.U.N.S., вы можете посмотреть здесь.
Если у вас еще нет номера DUNS, его можно получить бесплатно, и вы можете получить его на этой странице. Если вам нужна помощь в получении номера DUNS, вы можете выполнить действия, описанные здесь или тут.
Получив номер DUNS, вы можете предоставить его Apple во время регистрации в Apple:
Источник
Choosing a Membership
It’s never been easier to develop for Apple platforms. To get started with app development for iOS, iPadOS, macOS, tvOS, and watchOS, simply download Xcode from the Mac App Store. If you’re ready to distribute apps to customers, the Apple Developer Program provides everything you need to build apps with advanced capabilities and make them available worldwide. You can also distribute custom apps to specific businesses or proprietary apps within your organization.
Who should enroll
You can learn how to develop apps for Apple platforms for free without enrolling. With just an Apple ID, you can access Xcode, software downloads, documentation, sample code, forums, and Feedback Assistant, as well as test your apps on devices. If you don’t already have an Apple ID, you can create one now. To distribute apps, join the Apple Developer Program.
About the Apple Developer Program
If you’re interested in creating apps for distribution on the App Store, Apple Business Manager, or Apple School Manager, join the Apple Developer Program.* Membership includes access to beta OS releases, advanced app capabilities, and tools needed to develop, test, and distribute apps and Safari Extensions. You must be 18 years or older to join.
Individuals or sole proprietors/single-person businesses. Apps are listed under the developer’s personal name.
Organizations. Apps are listed under the organization’s legal entity name. Companies and educational institutions must provide a D-U-N-S Number (available for free) registered to their legal entity during the enrollment process.
Enrollment is 99 USD (or in local currency where available) per membership year. Your nonprofit, educational institution, or government entity may be eligible for a fee waiver.
Benefits and resources
Sign In with Your Apple ID | Apple Developer Program | |
---|---|---|
Xcode developer tools | ● | ● |
Xcode beta releases | ● | ● |
On-device testing | ● | ● |
Apple Developer Forums | ● | ● |
Bug reporting with Feedback Assistant | ● | ● |
OS beta releases | ● | |
Full access to a comprehensive set of development tools | ● | |
Advanced app capabilities and services | ● | |
Code-level support | ● | |
App distribution on the App Store | ● | |
App management, testing, and analytics with App Store Connect | ● | Safari Extensions distribution | ● |
Software distribution outside the Mac App Store | ● | |
Custom app distribution with Apple Business Manager and Apple School Manager | ● | |
Proprietary app distribution to your employees with Apple Business Manager | ● | |
Ad hoc distribution for testing and internal use | ● | |
Access to members-only developer events or additional event content | ● | |
Cost | Free | 99 USD** |
Other programs
App Store Small Business Program
This program features a reduced commission rate of 15% on paid apps and in-app purchases, helping you to invest more resources into your business so you can continue building great apps.
Apple Developer Enterprise Program
Organizations with specific use cases that require private distribution directly to employees through a secure internal system or a Mobile Device Management solution may be eligible for this program.
Apple Video Partner Program
This program is designed for apps that deliver premium subscription video entertainment services on the Apple TV app. Participating apps are required to integrate with a number of Apple technologies, such as Universal Search, Siri, AirPlay, and single sign-on or zero sign-on, to ensure a seamless experience for users.
iOS Developer University Program
This is a free developer program for higher education institutions looking to introduce iOS development into their curriculum. With Xcode, any teacher and student can get access to the tools and resources needed to develop and install apps on Apple devices.
MFi Program
If you plan to develop or manufacture accessories that use MFi technologies, such as the Find My network or HomeKit, the MFi Program provides the licenses and resources you need.
News Partner Program
This program is designed for subscription news publications that provide their content to Apple News in Apple News Format. Publishers that work with Apple News may qualify for a commission rate of 15% on qualifying in-app purchase subscriptions from day one.
Security Research Device Program
Help improve the security of iOS devices by testing for vulnerabilities on a special Security Research Device.
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.
Источник
Apple Developer Program Membership Fee Waivers
Apple Developer Program membership is available at no cost for eligible organizations. Find out if your organization qualifies and how to request a waiver.
Eligibility
You can request to have the annual Apple Developer Program membership fee waived if you’re a nonprofit organization, accredited educational institution, or government entity that will distribute only free apps on the App Store and is based in an eligible region. Apple will review your request and contact you to let you know if your request is approved.
Eligible regions: Australia, Brazil, Canada, China mainland, France, Germany, Israel, Italy, Japan, Mexico, South Korea, United Kingdom, United States.
New members
To join the Apple Developer Program at no cost as an eligible organization, select the option to request a fee waiver when completing enrollment. If the fee waiver is approved, your organization will not need to pay for membership when completing your enrollment.
Existing members
Account Holders of eligible organizations can submit a fee waiver at any time before their membership expiration date. This waiver requires a tax ID/national ID, which is a number assigned by local government agencies to identify a business within the local market. Examples include the VAT Number in Europe, the Siret Number in France, the Company Number in Australia, and the State Registry Number in Brazil. If the fee waiver is approved, the organization will no longer need to pay an annual fee upon renewal. Full or partial refunds for existing memberships are not available.
Additional details
All requests to waive membership fees will be reviewed by Apple. If you distribute a paid app or an app with in-app purchase on the App Store after your fee waiver is approved, you will be responsible for the annual membership fee of 99 USD, or in local currency where available.
Fee waivers are not available for:
- Organizations distributing paid apps or apps with in-app purchase on the App Store.
- Members of the Apple Developer Enterprise Program.
- Individuals and sole proprietors/single-person businesses.
Fee waivers for other regions will be added as they become available. If you have questions, please contact us.
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.
Источник
Сертификация в Apple Developer Center простым и понятным языком
В Apple Developer Center с незапамятных времен применяется довольно мудреная система сертификации ваших приложений на каждом из ключевых этапов — разработка, тестирование и публикация.
Зачастую при первом погружении в эту систему у начинающих (и не только) разработчиков возникают серьезные проблемы с пониманием того, как функционирует Apple Developer Center (будем называть его «девцентр» для простоты). В результате, мне в процессе профессиональной деятельности не раз приходилось наблюдать на новых местах работы огромные свалки из профилей и сертификатов в девцентре, в результате чего приходилось приступать к «разбору завалов».
При этом, в сети довольно не такой большой выбор материалов на эту тему. Конечно, в официальной документации Apple все хорошо структурировано и очень подробно описано, но зачастую просто не хватает времени на изучение такого количества материала. Как правило, хочется быстро понять, что именно и в каком порядке нужно сделать для корректной работы приложения на этапах разработки, тестирования и при публикации его в магазин App Store. В русском же сообществе подобных материалов, собранных в одном месте и в удобном доступе, я не видел вовсе, поэтому и решил написать эту статью. Для всех интересующихся — добро пожаловать под кат.
Что мы будем разбирать?
Мы разберем процесс управления вашим приложением в Apple Developer Center от его создания до публикации в магазине App Store. Мы будем говорить только о базовых вещах, таких, как разработка, тестирование и публикация, а также обсудим APNs (Push Notifications).
Отмечу тот факт, что далее я буду описывать принцип работы девцентра по состоянию на 31 марта 2016 года, поэтому если вы читаете эту статью позднее — все уже могло измениться.
Что нам понадобится?
Собственно, для работы нам нужно следующее:
- Рабочий Mac, либо PC с виртуальной машиной и установленной на ней Mac OS.
- Действующий Apple ID. Его всегда можно бесплатно зарегистрировать на официальном сайте компании Apple.
- На вашем Apple ID (либо у одной из компаний, которая добавила ваш Apple ID в свою команду) должна быть активирована так называемая Apple Developer Program — оплачиваемая раз в год «подписка», дающая вам доступ к Apple Developer Center и возможность публиковать ваши приложения в App Store. На текущий момент стоимость в пересчете на год невелика и составляет в районе $99 за год пользования.
- И, конечно же, навыки разработки под iOS.
Ориентировка по разделам
В девцентре для полноценной работы с вашими приложениями нам понадобятся только два пункта:
- Certificates, Identifiers & Profiles. Раздел обеспечивает управление всей системой сертификации ваших приложений. Работу именно с этим разделом мы и будем разбирать в данной статье.
- iTunes Connect. Дает доступ к внутреннему и внешнему тестированию через TestFlight, а также к управлению публикацией ваших приложений в App Store.
Терминология
Давайте подробно разберем понятия, лежащие в основе функционирования девцентра Apple.
Сертификаты (Certificates)
Этот раздел дает доступ к управлению сертификатами, которыми обладает ваша учетная запись Apple ID. Каждый из этапов, которые вы будете проходить, будь то разработка, тестирование или публикация, включая все значимые составляющие экосистемы Apple вроде Push Notifications, требует обязательного наличия актуального (действующего, Active) сертификата. Говоря проще, ваше приложение не сможет даже чихнуть, не имея на то разрешения из Apple Developer Center. Чуть подробнее о подразделах:
- Pending. Запрошенные вами сертификаты, находящиеся в процессе обработки от Apple. Для дев (Development) и прод (Production) сертификатов конкретно в моем случае этот подраздел чаще всего пустует.
- Development. Дев-сертификаты, обеспечивающие возможность отладки вашего приложения на конкретных девайсах (одном либо нескольких) через Xcode, а также создание дев-сборок «в отладочном режиме». Более подробно поговорим о них чуть ниже.
- Production. Прод-сертификаты, обеспечивающие работоспособность приложения при тестировании в TestFlight и при публикации в магазине App Store.
Теперь разберем типы сертификатов.
Сертификаты типа «Development»
В первую очередь, нужно знать, что девелоперский сертификат всегда привязывается к одной конкретной машине. Поэтому для отладки на вашем Mac вам понадобится доступ к этому сертификату. Тут есть варианты. Например, если, вы устроились на работу iOS-программистом, и в ваши задачи входит отладка на устройствах (как правило, так и есть), то есть два пути решения (какой из них выбирать — зависит от вас и условий работы в вашей компании):
- Создать отдельный дев-сертификат конкретно для вашего Mac, скачать и установить его. Плюс понадобится сгенерировать и установить на свой Mac девелоперский профиль на основе этого сертификата, но об этом позже.
- Либо экспортировать с машины, на которую заведен сертификат, файл *.p12/*.pfx (это можно сделать в связке ключей Apple). Такой файл защищается паролем при экспорте, и, зная этот пароль, информацию о сертификате можно будет импортировать на любом другом Mac. В этом случае отпадает необходимость создавать для каждого Mac отдельные Development-сертификаты и отдельные Development-профили. Небольшая оговорка: профиль хоть и должен быть сгенерирован для той машины, на которую выпущен экспортируемый сертификат, но в этот профиль понадобится добавить UDID вашего устройства прежде, чем выдавать профиль вам для установки, иначе ничего работать не будет.
Инструкция по процессу будет показана вам в девцентре Apple при начале создания сертификата, там все расписано очень подробно и понятно, по шагам, сложностей возникать не должно. Если вкратце, то после выбора типа сертификата (iOS App Development, для отладки приложения, либо APNs Sandbox, для отладки пушей) вам придется создать файл запроса к бюро сертификации (Certificate Signing Identity Request), на основе которого и будет сгенерирован девелоперский сертификат. Если вы хотите и отлаживать приложение, и отлаживать пуш-нотификации в «песочнице», то вам потребуются оба этих сертификата. Забегая вперед, упомяну, что аналогичный процесс применяется и при создании прод-сертификатов.
Наличие дев-сертификата означает, что, скачав его и установив двойным кликом в Связку Ключей (Apple Keychain), вы сможете запускать ваше приложение напрямую через Xcode в режиме отладки на устройстве, подключив это устройство проводом к вашему Mac. Перечень разрешенных конкретных устройств Apple нужно будет обязательно указать при генерации девелоперского профиля, но об этом позже. Также, вы сможете собрать и экспортировать сборку с дев-профилем, но стоит учесть, что в этом случае ваше приложение не будет иметь доступа к продакшн-возможностям (APNs будет только в режиме sandbox, например).
Сертификаты типа «Production»
Для начала на всякий случай поясню, что сборкой iOS-приложения называют *.ipa-файл, архив, выпускаемый с соблюдением правил сертификации Apple через команду Project — Archive в Xcode.
Теперь о сертификации. Прод-сертификаты обеспечивают функционирование различных подсистем приложения в «боевых» условиях, то есть в магазине App Store, а также на устройствах, где выполняется внутреннее и внешнее тестирование приложения через TestFlight. Здесь, по аналогии с Development-сертификацией, есть тип App Store & Ad Hoc Production, а также тип APNs Production, использующийся веб-сервером для рассылки push-уведомлений. Если вы планируете выпустить приложение, поддерживающее работу с пушами, то вам понадобятся оба сертификата, как App Store & Ad Hoc (на основе которого вы сделаете сборку и отправите приложение в iTunes Connect), так и APNs Production (его вы отдадите серверу, а тот воспользуется им для получения прав на рассылку пушей). В довесок к уже упомянутым подсистемам есть еще несколько других, обеспечивающих доступ к Wallet, Apple Watch и так далее, но их обзор выходит за рамки данной статьи.
Очень часто возникает вопрос о том, в чем же разница между App Store и тем самым Ad Hoc. Ранее они были представлены разными сертификатами, с некоторого времени Apple объединила их в единое целое, за что им большое спасибо. Чуть подробнее об этих разновидностях:
- Выпуск сборок типа App Store. Обеспечивает возможность тестировать приложение в TestFlight, как в режиме внутреннего, так и в режиме внешнего тестирования. Также дает возможность опубликовать приложение в App Store.
- Выпуск сборок типа Ad Hoc. Термин «Ad Hoc» можно перевести как «специальный», «для конкретной цели». Такой тип сертификации обеспечивает возможность запускать ваше приложение (включая все нужные подсистемы типа APNs) в боевых условиях, но только на конкретных девайсах, и без участия Xcode в процессе запуска. Другими словами, Ad Hoc необходим, если вы захотите поставить ваше приложение на стороннее устройство, не имея к нему прямого доступа (то есть не подсоединяя его проводом к вашему Mac, так как в этом случае вам бы хватило Development-сертификата), но при этом и не выкладывая приложение в iTunes Connect. Такой сертификат используется при создании специального Ad Hoc-профиля, о котором пойдет речь чуть позже.
Еще один частый вопрос: чем отличаются сборки, собранные на паре Development Certificate + Development Profile, и сборки, созданные через связку Distribution Certificate + Ad Hoc Profile? Ведь и там, и там нужно указывать перечень разрешенных для установки устройств, и то, и то можно устанавливать через iTunes. В чем же различие? На деле, разница в том, что дев-сборка будет запускаться «в отладочном режиме», то есть, например, APNs ей будут доступны только в режиме «sandbox». Продакшн-сборка будет обладать «боевыми» правами, с доступом во все подсистемы Apple вроде «настоящих» APNs, iCloud и так далее.
Intermediate Certificates
Некоторое время назад Apple внесла изменения в логику работы девцентра и своей системы сертификации, после чего на большинстве компьютеров пропала возможность делать сборки приложений, несмотря на наличие активных дев- и прод-сертификатов и актуальных профилей. Причина этого была в том, что Apple добавила дополнительное требование, чтобы на вашем Mac в связке ключей был установлен специальный сертификат под названием «Worldwide Developer Relations Certificate Authority». Он устанавливается автоматически с новыми версиями Xcode, но те, у кого Xcode уже был установлен ранее, просто должны были установить этот сертификат вручную, скачав его по прямой ссылке из секции Intermediate Certificates в девцентре Apple, после чего проблемы со сборками исчезали. Больше никакой смысловой нагрузки этот сертификат не несет.
Идентификаторы (Identifiers)
Данный раздел обеспечивает управление идентификаторами. Для вашего приложения в минимальном исполнении понадобится App ID, управление которыми доступно в одноименном подразделе.
В буквальном переводе «App ID» означает «идентификатор приложения», что полностью отражает его суть. Любое ваше приложение, которое вы хотите отлаживать на устройстве Apple, тестировать через TestFlight и/или публиковать в магазин App Store, должно обладать собственным уникальным именем, по которому его можно однозначно идентифицировать среди тысяч других приложений. При добавлении нового App ID вам будет предложено ввести несколько элементов:
- App ID Description. Имя вашего приложения. К примеру, если ваше приложение называется Mail Printer, то прямо так его и записываем в это текстовое поле.
- App ID Prefix. Префикс вашего приложения, он выдается вам автоматически и будет общим для конкретной команды Apple Team, где подключена и активна Apple Developer Program.
- App ID Suffix. Здесь нам понадобится выбрать Explicit App ID, чтобы указать бандл (bundle) приложения. Это идентификатор, обычно имеющий вид com.mycompany.myappname, где mycompany — имя вашей компании или вашего домена. Например, com.homecompany.MailPrinter. Обращаю ваше внимание, что точно такой же бандл должен быть выставлен в настройках таргета (Target) вашего приложения в Xcode (секция настроек General, поле Bundle Identifier).
- App Services. Здесь вам нужно отметить те сервисы, которые вы планируете использовать в вашем приложении. По умолчанию там отмечены только Game Center и In-App Purchase, их использование обязательно, удалить их нельзя. Остальные сервисы подключайте по мере необходимости.
После создания App ID вы можете использовать его для генерации любых типов профилей, об этом чуть позже.
Устройства (Devices)
В этом разделе размещено управление всеми устройствами Apple, которые вы можете использовать в рамках вашей Apple Developer Program. Есть ограничение, максимум 100 зарегистрированных девайсов одного типа (iPhone, iPad и так далее) на одну учетную запись в год, обычно этого более чем достаточно. При необходимости отладки на устройстве или выпуска Ad Hoc-сборки просто добавляйте сюда UDID нужных вам девайсов и используйте их при генерации профилей.
Профили (Provisioning Profiles)
Дословно название этого раздела переводится как «Профили обеспечения». Чуть более развернуто я бы описал понятие «профиль» как «Специальный файл, обеспечивающий доступ к некоторой функциональности в конкретной сборке вашего приложения». В данном разделе девцентра вы можете управлять вашими профилями, обеспечивая себе возможность выпускать сборки приложения для различных целей, то есть «профилировать» его. По сути, профиль является результатом объединения двух (иногда трех) компонентов:
- Активного сертификата определенного типа (раздел Certificates). С помощью сертификата профиль подтверждает, что ваше приложение имеет право на выполнение определенной группы действий.
- App ID (раздел Identities). Определяет конкретное приложение, для которого выпускается профиль.
- В некоторых случаях, еще нужен список зарегистрированных устройств (раздел Devices). Определяет перечень устройств, на которые разрешено устанавливать вашу сборку. Используется только с некоторыми типами профилей.
На выходе как раз и получаем профиль для выпуска сборок с определенными целями. Давайте рассмотрим разновидности профилей.
Профили типа «Development»
Это профиль для разработки, то есть его основное назначение — отладка вашего приложения на конкретных устройствах через Xcode с прямым подключением устройства проводом к вашему Mac. Дев-профили представлены двумя видами:
- iOS App Development. Требует указания перечня разрешенных устройств из раздела Devices.
Используется для отладки iOS-приложений. - tvOS App Development. Аналогично, только используется для tvOS-приложений.
Профили типа «Distribution»
Эти профили используются для выпуска сборок вашего приложения для различных целей. Продакшн-профили представлены четырьмя видами:
- App Store. Используется для тестирования (как внутреннего, так и внешнего) в TestFlight, а также для выпуска приложения в App Store.
- tvOS App Store. Аналогично предыдущему, только для tvOS.
- Ad Hoc. Требует указания перечня разрешенных устройств из раздела Devices.
Используется, если вы хотите выпустить сборку, которую можно будет поставить в режиме «Production», но только на некоторых устройствах. Реальная ситуация, когда это может понадобится, например, следующая. Вы разрабатываете приложение, а в процессе работы заказчик попросил у вас «дать ему пощупать приложение» на своем Apple-устройстве. В iTunes Connect для активации внешнего тестирования вы еще выходить не готовы, но просьбу заказчика нужно выполнять — вот тут как раз и пригодится Ad Hoc-профиль, сгенерированный на базе прод-сертификата App Store & Ad Hoc Production Certificate. Важный момент: в моем случае часто возникали проблемы при экспорте сборок подобным способом, если в Xcode не был также установлен и Development-сертификат. Ошибки были разного рода, от невозможности подписать сборку до абсурдного «App ID is not available», хотя это фактически не так (замена на другой бандл ничего не давала). Поэтому, по моему предположению, для удачного экспорта Ad Hoc-сборок необходимо, чтобы, помимо Ad Hoc-профиля, был также установлен и дев-сертификат с соответствующим профилем. - tvOS Ad Hoc. Аналогично предыдущему, только для tvOS.
Вкратце об iTunes Connect
Этот сервис предоставляет вам возможность управлять внутренним и внешним тестированием в TestFlight, а также выкладывать приложение в App Store. Рассмотрение этого процесса выходит за рамки данной статьи, упомяну лишь тот факт, что для корректной работы этому сервису необходимы сборки, созданные на базе профиля типа Distribution — App Store (для iOS либо tvOS). Другие типы профилей здесь не поддерживаются.
Резюмируем
По сути, при получении доступа к девцентру с активной Apple Developer Program ваш алгоритм действий должен сводиться к следующему:
- Определиться, с каких конкретно машин будет производиться прямая отладка на устройствах через Xcode. Определить среди них основную машину (это может быть Mac разработчика, с которого чаще всего планируется производить отладку). Сгенерировать для основного Mac сертификаты группы Development, скачать и установить их. По необходимости, экспортировать информацию об этих сертификатах в файлы *.p12/*.pfx, которые потом можно будет разослать на другие целевые машины, где также планируется проводить отладку приложений.
- Узнать, с какой машины планируется собирать сборки для тестирования и/или публикации в App Store. Сгенерировать для нее сертификат группы Distribution. Повторить процедуру с экспортом из предыдущего пункта, если требуется поддержка нескольких машин.
- Проконтролировать наличие нужного идентификатора приложения в разделе App IDs и соответствие указанного там бандла значению поля Bundle Identifier в проекте в Xcode, при наличии несовпадения — устранить его либо в девцентре, либо в Xcode (где именно это править — зависит от вашей конкретной ситуации).
- Убрать (Revoke/Delete) все сертификаты, а затем и профили, которые обладают пометкой Expired (истекший сертификат) или Invalid (некорректный профиль). Также отмечу, что, в отличие от сертификатов, профили можно редактировать. То есть, сгенерировав новые сертификаты, вместо удаления старых профилей вы можете просто отредактировать их, указав им новые сертификаты в качестве подписи.
- Если профилей нет, либо не хватает нужных, то сгенерировать необходимые профили.
- Скачать и установить нужные для вашей машины сертификаты и профили на свой компьютер. Установка производится двойным кликом на файле. Сертификаты будут установлены в Связку Ключей (Apple Keychain), профили — в Xcode.
- Указать в настройках проекта Xcode нужные вам сертификаты в секции Build Settings — Code Signing Identity — Development/Distribution, а также указать необходимый Provisioning Profile.
На этом подготовка и чистка девцентра завершается. Далее вы можете выполнять любой из нижеследующих пунктов по необходимости:
- Произвести запуск в режиме отладки (Project — Run) через Xcode на разрешенном устройстве, используя дев-профиль.
- Создать сборку (Project — Archive с выбранным целевым устройством Generic iOS Device) на базе продакшн-профиля Ad Hoc для установки на конкретные устройства (такую сборку можно будет выслать, например, по электронной почте заказчику, чтобы он установил ее на свое разрешенное устройство).
- Создать сборку аналогично предыдущему пункту, но на базе продакшн-профиля App Store. Это будет сборка для внутреннего и/или внешнего тестирования, а также для выкладки в App Store, которую можно использовать в iTunes Connect.
Надеюсь, это подробное описание поможет вам разобраться в специфике функционирования системы сертификации приложений Apple, а также поможет навести порядок в Apple Developer Center.
Источник