{"id":369148,"date":"2024-05-21T03:57:19","date_gmt":"2024-05-21T03:57:19","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=369148"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=369148","title":{"rendered":"<span>\u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 CI\/CD \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u0434\u043b\u044f flutter \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 Codemagic. \u0427\u0430\u0441\u0442\u044c 2<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438, \u043a\u0430\u043a \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 CI\/CD \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u043e\u0434 Android \u0447\u0435\u0440\u0435\u0437 Codemagic.<\/p>\n<div class=\"embed_link embed_layout-right\">\n<div class=\"embed__thumb\" style=\"background-image: url(&quot;https:\/\/habr.com\/share\/publication\/795991\/33acb59c9277788fa4933b02b125b533\/&quot;);\"><\/div>\n<div class=\"embed__caption\">\n<div class=\"embed__caption-title\"><span>\u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 CI\/CD \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u0434\u043b\u044f flutter \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 Codemagic. \u0427\u0430\u0441\u0442\u044c 1<\/span><\/div>\n<div class=\"embed__caption-description\">\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0432\u044b \u044f\u0432\u043b\u044f\u0435\u0442\u0435\u0441\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u043d\u0430 \u043a\u0430\u043a\u043e\u043c-\u043d\u0438\u0431\u0443\u0434\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435. \u0415\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u043e\u0441&#8230;<\/div>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/795991\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\" class=\"embed__caption-link\">habr.com<\/a><\/div>\n<\/div>\n<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u0445\u043e\u0436\u0435\u0435 \u0434\u043b\u044f iOS. \u042f \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0445\u0438\u0442\u0440\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0438\u043d\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u043d\u043e \u0441 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e.<\/p>\n<hr\/>\n<h3>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Codemagic \u0434\u043b\u044f iOS. \u0420\u0435\u043b\u0438\u0437\u043d\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 \u0441 \u043f\u043e\u0434\u043f\u0438\u0441\u044c\u044e<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0441 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u0432 \u0410\u043d\u0434\u0440\u043e\u0438\u0434, \u0442\u043e \u0442\u0443\u0442 \u0432\u0441\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432 \u0442\u044b\u0441\u044f\u0447\u0443 \u0440\u0430\u0437 \u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u041d\u0430\u043f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0441\u0431\u043e\u0440\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0432 AppStore, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b: <\/p>\n<ul>\n<li>\n<p>\u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c .p12 \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u043a \u043d\u0435\u043c\u0443. \u0422\u0443\u0442 \u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0431\u044b\u043b \u0434\u043b\u044f Distribution \u0438\u043b\u0438 iOS Distribution<\/p>\n<\/li>\n<li>\n<p>\u043f\u0440\u043e\u0444\u0430\u0439\u043b \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c .mobileprovision \u0441 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c \u043f\u0440\u0430\u0432\u043e\u043c \u043d\u0430 App Store Connect Distribution<\/p>\n<\/li>\n<\/ul>\n<h4>\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 .p12<\/h4>\n<p><strong>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a.<\/strong> \u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430 \u0441\u0432\u043e\u0435\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435 <strong>signingRequest<\/strong>.<\/p>\n<ul>\n<li>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c <strong>Keychain Access<\/strong><\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/528\/096\/304\/52809630489f12054812d7ee384233c8.png\" alt=\"MacOS\" title=\"MacOS\" width=\"880\" height=\"140\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/528\/096\/304\/52809630489f12054812d7ee384233c8.png\"\/><\/p>\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0440\u0435\u043a\u0432\u0435\u0441\u0442 &#171;<strong>Request a Certificate From a Certificate Authority&#8230;<\/strong>&#187; \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u0430 \u0434\u0438\u0441\u043a, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0430\u0445. <\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/978\/9ee\/9b3\/9789ee9b3e606520404e76166f1384d3.png\" alt=\"MacOS\" title=\"MacOS\" width=\"2270\" height=\"418\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/978\/9ee\/9b3\/9789ee9b3e606520404e76166f1384d3.png\"\/><\/p>\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2c8\/df8\/1d7\/2c8df81d714139d49a9dfc0b56633d2e.png\" alt=\"MacOS\" title=\"MacOS\" width=\"1230\" height=\"888\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/2c8\/df8\/1d7\/2c8df81d714139d49a9dfc0b56633d2e.png\"\/><\/p>\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0444\u0430\u0439\u043b<\/p>\n<\/li>\n<\/ul>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8c0\/d60\/7a0\/8c0d607a08d836c43b4e8408c8ed59ab.png\" alt=\"MacOS\" title=\"MacOS\" width=\"222\" height=\"212\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8c0\/d60\/7a0\/8c0d607a08d836c43b4e8408c8ed59ab.png\"\/><\/p>\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<p><strong>\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435! \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0448\u0430\u0433\u0438 \u043c\u043e\u0436\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043b\u0430\u0434\u0435\u043b\u0435\u0446 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0432 App Store Connect, \u0435\u0441\u043b\u0438 \u043e\u043d \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0432 Apple Developer Program \u043a\u0430\u043a Individual.<\/strong><\/p>\n<ul>\n<li>\n<p>\u041e\u0442\u043a\u0440\u044b\u0442\u044c <a href=\"https:\/\/developer.apple.com\/account\/resources\/certificates\/list\" rel=\"noopener noreferrer nofollow\"><strong>Certificates, Identifiers &amp; Profiles<\/strong><\/a>, \u0440\u0430\u0437\u0434\u0435\u043b <strong>Certificates <\/strong>\u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u043f\u043b\u044e\u0441<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/dd3\/792\/720\/dd379272069d350e0a4903a28eb723a1.png\" alt=\"Developer Apple\" title=\"Developer Apple\" width=\"2620\" height=\"1250\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/dd3\/792\/720\/dd379272069d350e0a4903a28eb723a1.png\"\/><\/p>\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u043b\u0438\u0431\u043e <strong>Apple Distribution<\/strong>, \u043b\u0438\u0431\u043e <strong>iOS Distribution <\/strong>(\u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f iOS)<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1a4\/5f1\/51c\/1a45f151ca576c0f5c05ecf580622530.png\" alt=\"Developer Apple\" title=\"Developer Apple\" width=\"2482\" height=\"1490\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1a4\/5f1\/51c\/1a45f151ca576c0f5c05ecf580622530.png\"\/><\/p>\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0440\u0430\u043d\u0435\u0435 \u0440\u0435\u043a\u0432\u0435\u0441\u0442 \u0444\u0430\u0439\u043b<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/78d\/335\/031\/78d33503162a1992dc8ea60dc00d6da8.png\" alt=\"Developer Apple\" title=\"Developer Apple\" width=\"2482\" height=\"1490\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/78d\/335\/031\/78d33503162a1992dc8ea60dc00d6da8.png\"\/><\/p>\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0444\u0430\u0439\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u0440\u0435\u043a\u0432\u0435\u0441\u0442<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/518\/6ad\/d63\/5186add637bd5e54ea6c7190691ba3e0.png\" alt=\"Developer Apple\" title=\"Developer Apple\" width=\"2482\" height=\"1490\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/518\/6ad\/d63\/5186add637bd5e54ea6c7190691ba3e0.png\"\/><\/p>\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0444\u0430\u0439\u043b<\/p>\n<\/li>\n<\/ul>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c9b\/48f\/83f\/c9b48f83fedf0c63c0d2387ad5f47c34.png\" alt=\"MacOS\" title=\"MacOS\" width=\"256\" height=\"236\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c9b\/48f\/83f\/c9b48f83fedf0c63c0d2387ad5f47c34.png\"\/><\/p>\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<p><strong>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a. <\/strong>\u0423 \u0441\u0435\u0431\u044f \u043d\u0430 MacOS \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0442\u043a\u0440\u044b\u0442\u044c ios_distribution.cer, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043a\u043e\u0439 \u0432\u0438\u0434<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/47e\/caa\/ecb\/47ecaaecb230f13de9b27fd5e6608282.png\" alt=\"MacOS\" title=\"MacOS\" width=\"1748\" height=\"1060\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/47e\/caa\/ecb\/47ecaaecb230f13de9b27fd5e6608282.png\"\/><\/p>\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0421\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u043a\u0441\u043f\u043e\u0440\u0442 <\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6f0\/b7d\/8bc\/6f0b7d8bc79d8768af896b2cab9743d5.png\" alt=\"MacOS\" title=\"MacOS\" width=\"1592\" height=\"966\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6f0\/b7d\/8bc\/6f0b7d8bc79d8768af896b2cab9743d5.png\"\/><\/p>\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b96\/567\/508\/b9656750848b35d83e74870aa94f7e7a.png\" alt=\"MacOS\" title=\"MacOS\" width=\"1746\" height=\"1056\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b96\/567\/508\/b9656750848b35d83e74870aa94f7e7a.png\"\/><\/p>\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c44\/ce6\/316\/c44ce6316e1a24c842f2546a5df306a5.png\" alt=\"MacOS\" title=\"MacOS\" width=\"812\" height=\"492\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c44\/ce6\/316\/c44ce6316e1a24c842f2546a5df306a5.png\"\/><\/p>\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0414\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0444\u0430\u0439\u043b<\/p>\n<\/li>\n<\/ul>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/eb6\/c94\/858\/eb6c94858c934a87ecea23a1bf979d20.png\" alt=\"MacOS\" title=\"MacOS\" width=\"214\" height=\"194\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/eb6\/c94\/858\/eb6c94858c934a87ecea23a1bf979d20.png\"\/><\/p>\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<p>\u041e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0435\u0433\u043e \u043d\u0430 \u0431\u0443\u0434\u0443\u0449\u0435\u0435<\/p>\n<h4>\u041f\u0440\u043e\u0444\u0430\u0439\u043b .mobileProvision<\/h4>\n<p><strong>\u0412\u043b\u0430\u0434\u0435\u043b\u0435\u0446 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0432 App Store Connect <\/strong>\u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0442\u043a\u0440\u044b\u0442\u044c <a href=\"https:\/\/developer.apple.com\/account\/resources\/profiles\/list\" rel=\"noopener noreferrer nofollow\"><strong>Certificates, Identifiers &amp; Profiles<\/strong><\/a>, \u0440\u0430\u0437\u0434\u0435\u043b <strong>Profiles<\/strong> \u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u043f\u043b\u044e\u0441<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8e1\/bcb\/47f\/8e1bcb47f324f0c4b81127d4a38769ef.png\" alt=\"Developer Apple\" title=\"Developer Apple\" width=\"2652\" height=\"1536\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8e1\/bcb\/47f\/8e1bcb47f324f0c4b81127d4a38769ef.png\"\/><\/p>\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0412\u044b\u0431\u0440\u0430\u0442\u044c <strong>App Store Connect<\/strong> \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>Distribution<\/strong> <\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fcb\/57c\/58a\/fcb57c58a3d3eebbf2e1b0cd85a59c34.png\" alt=\"Developer Apple\" title=\"Developer Apple\" width=\"2940\" height=\"1618\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fcb\/57c\/58a\/fcb57c58a3d3eebbf2e1b0cd85a59c34.png\"\/><\/p>\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0412\u044b\u0431\u0440\u0430\u0442\u044c, \u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0443\u0436\u0435\u043d \u043f\u0440\u043e\u0444\u0430\u0439\u043b<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9ba\/c22\/087\/9bac22087439fe35eb2c17a8c23271e7.png\" alt=\"Developer Apple\" title=\"Developer Apple\" width=\"2652\" height=\"1536\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9ba\/c22\/087\/9bac22087439fe35eb2c17a8c23271e7.png\"\/><\/p>\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0440\u0430\u043d\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f2c\/767\/0ee\/f2c7670ee3243a24412a82e33682a65b.png\" alt=\"Developer Apple\" title=\"Developer Apple\" width=\"2652\" height=\"1536\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f2c\/767\/0ee\/f2c7670ee3243a24412a82e33682a65b.png\"\/><\/p>\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u041f\u0440\u0438\u0434\u0443\u043c\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/974\/b4e\/7e2\/974b4e7e2cd4e22b5e28efc3e5dcd319.png\" alt=\"Developer Apple\" title=\"Developer Apple\" width=\"2652\" height=\"1536\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/974\/b4e\/7e2\/974b4e7e2cd4e22b5e28efc3e5dcd319.png\"\/><\/p>\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4d5\/08c\/5c1\/4d508c5c17f025a3fa3499b62f262754.png\" alt=\"Developer Apple\" title=\"Developer Apple\" width=\"2652\" height=\"1536\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4d5\/08c\/5c1\/4d508c5c17f025a3fa3499b62f262754.png\"\/><\/p>\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u0444\u0430\u0439\u043b<\/p>\n<\/li>\n<\/ul>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3a2\/ea9\/181\/3a2ea91811c015334832cd2186c07e49.png\" alt=\"MacOS\" title=\"MacOS\" width=\"272\" height=\"232\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3a2\/ea9\/181\/3a2ea91811c015334832cd2186c07e49.png\"\/><\/p>\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<p><em>\u041f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043d\u043e\u0432\u043e\u0439 \u0444\u0438\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u043d\u0435\u0435 \u043d\u0435 \u0431\u044b\u043b\u043e \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u043f\u043e\u043a\u0443\u043f\u043a\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442<\/em> <em>\u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0444\u0430\u0439\u043b!<\/em><\/p>\n<h4>Codemagic<\/h4>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 .p12 \u0438 \u043f\u0440\u043e\u0444\u0430\u0439\u043b .mobileProvision, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 Codemagic. \u0414\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u0441\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e<\/p>\n<ul>\n<li>\n<p>\u0420\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u0435\u043a\u0446\u0438\u044e <strong>iOS code signing<\/strong> <\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/dd4\/3d0\/a6d\/dd43d0a6d0e05556db5c68804c06180e.png\" alt=\"codemagic.io\" title=\"codemagic.io\" width=\"2806\" height=\"1254\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/dd4\/3d0\/a6d\/dd43d0a6d0e05556db5c68804c06180e.png\"\/><\/p>\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043c\u0435\u0442\u043e\u0434 <strong>Manual<\/strong>, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0444\u0430\u0439\u043b\u044b \u0438 \u0432\u0432\u043e\u0434\u0438\u043c \u043f\u0430\u0440\u043e\u043b\u044c \u043e\u0442 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4ba\/669\/7ca\/4ba6697ca7070b747d570a281e2c6002.png\" alt=\"codemagic.io\" title=\"codemagic.io\" width=\"2806\" height=\"1370\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4ba\/669\/7ca\/4ba6697ca7070b747d570a281e2c6002.png\"\/><\/p>\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/78d\/98e\/19f\/78d98e19f1e6e9e477cc4b0ecc54cd1d.png\" alt=\"codemagic.io\" title=\"codemagic.io\" width=\"2806\" height=\"1370\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/78d\/98e\/19f\/78d98e19f1e6e9e477cc4b0ecc54cd1d.png\"\/><\/p>\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/495\/c68\/5bd\/495c685bdb44ef9d711dfc71ebce1c5b.png\" alt=\"codemagic.io\" title=\"codemagic.io\" width=\"2806\" height=\"1370\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/495\/c68\/5bd\/495c685bdb44ef9d711dfc71ebce1c5b.png\"\/><\/p>\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u043e\u0434 iOS \u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u044d\u0442\u043e:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4e3\/558\/332\/4e3558332c35f17050193850aa940895.png\" alt=\"codemagic.io\" title=\"codemagic.io\" width=\"2698\" height=\"1600\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4e3\/558\/332\/4e3558332c35f17050193850aa940895.png\"\/><\/p>\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u044b \u0438 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0438\u0445 \u043f\u043e \u043c\u0435\u0441\u0442\u0443 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<\/p>\n<h4>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Codemagic \u0434\u043b\u044f iOS. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0432 App Store Connect<\/h4>\n<p>\u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0410\u043d\u0434\u0440\u043e\u0438\u0434 \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 Google Cloud Console, \u0437\u0434\u0435\u0441\u044c \u0432\u0441\u0451 \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u043c\u043e\u0433\u043b\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0441 \u043f\u043e\u0434\u043f\u0438\u0441\u044c\u044e.<\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u0442\u0430\u043a\u0436\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f <strong>\u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430<\/strong> <strong>AppStoreConnect!<\/strong><\/p>\n<ul>\n<li>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c <strong>Users and Access<\/strong>, \u0440\u0430\u0437\u0434\u0435\u043b <strong>Integrations<\/strong> (<a href=\"https:\/\/appstoreconnect.apple.com\/access\/integrations\/api\" rel=\"noopener noreferrer nofollow\">\u0441\u0441\u044b\u043b\u043a\u0430<\/a>) \u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u043f\u043b\u044e\u0441, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043a\u043b\u044e\u0447<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/edb\/5e2\/706\/edb5e270670664eabdef6206c140394e.png\" alt=\"App Store Connect\" title=\"App Store Connect\" width=\"2940\" height=\"1574\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/edb\/5e2\/706\/edb5e270670664eabdef6206c140394e.png\"\/><\/p>\n<div><figcaption>App Store Connect<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u0430\u0442\u044c \u044d\u0442\u043e\u043c\u0443 \u043a\u043b\u044e\u0447\u0443 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c <strong>App Manager<\/strong><\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7da\/a2a\/5ea\/7daa2a5eada6298fd3043d3502333c9b.png\" alt=\"App Store Connect\" title=\"App Store Connect\" width=\"2940\" height=\"1574\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7da\/a2a\/5ea\/7daa2a5eada6298fd3043d3502333c9b.png\"\/><\/p>\n<div><figcaption>App Store Connect<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u041a\u043b\u044e\u0447 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e <strong>\u043e\u0434\u0438\u043d \u0440\u0430\u0437<\/strong>. \u0422\u0430\u043a\u0436\u0435 \u043d\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c Issuer ID \u0438 Key ID, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0442\u043e\u043c<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7e6\/ff0\/e26\/7e6ff0e26805748c53b614143c24e9e1.png\" alt=\"App Store Connect\" title=\"App Store Connect\" width=\"2940\" height=\"926\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7e6\/ff0\/e26\/7e6ff0e26805748c53b614143c24e9e1.png\"\/><\/p>\n<div><figcaption>App Store Connect<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0421\u043a\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<\/li>\n<\/ul>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/787\/4ff\/ab1\/7874ffab18b9c738e28918b06dec0c6a.png\" alt=\"MacOS\" title=\"MacOS\" width=\"232\" height=\"254\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/787\/4ff\/ab1\/7874ffab18b9c738e28918b06dec0c6a.png\"\/><\/p>\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<p>\u0415\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443. <\/p>\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0448\u0430\u0433\u0438 \u043c\u043e\u0436\u0435\u0442 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c <strong>\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0420\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u0435\u043a\u0446\u0438\u044e <strong>App Store Connect<\/strong>. \u0414\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u0432\u0438\u0434<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/205\/fc0\/fa8\/205fc0fa80619ae30d97d7b4bf1451a3.png\" alt=\"codemagic.io\" title=\"codemagic.io\" width=\"2806\" height=\"1370\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/205\/fc0\/fa8\/205fc0fa80619ae30d97d7b4bf1451a3.png\"\/><\/p>\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ab2\/824\/5a7\/ab28245a7c65ab954cdbb6312dca9531.png\" alt=\"codemagic.io\" title=\"codemagic.io\" width=\"2806\" height=\"1674\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ab2\/824\/5a7\/ab28245a7c65ab954cdbb6312dca9531.png\"\/><\/p>\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0417\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u043e\u043b\u044f, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u0438 \u043f\u0440\u0438\u0434\u0443\u043c\u044b\u0432\u0430\u0435\u043c \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0449\u0435\u0435\u0441\u044f \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/593\/e4a\/3e4\/593e4a3e4ca0aca90db0eafa512d8cce.png\" alt=\"codemagic.io\" title=\"codemagic.io\" width=\"2806\" height=\"1674\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/593\/e4a\/3e4\/593e4a3e4ca0aca90db0eafa512d8cce.png\"\/><\/p>\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 <strong>App Store Connect<\/strong><\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/eac\/c97\/da5\/eacc97da5ad702cf6e56a9224765bd71.png\" alt=\"codemagic.io\" title=\"codemagic.io\" width=\"2138\" height=\"1306\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/eac\/c97\/da5\/eacc97da5ad702cf6e56a9224765bd71.png\"\/><\/p>\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u0432\u0435\u0440\u043d\u043e, \u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u043e\u0434 iOS \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043a\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2de\/609\/3fc\/2de6093fc2f92572fa61afe4c89ab92a.png\" alt=\"codemagic.io\" title=\"codemagic.io\" width=\"2940\" height=\"1462\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/2de\/609\/3fc\/2de6093fc2f92572fa61afe4c89ab92a.png\"\/><\/p>\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<p>\u0410 \u0432 TestFlight \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0439:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a78\/4f7\/213\/a784f7213f9850a07480e4a5c698304b.png\" alt=\"App Store Connect\" title=\"App Store Connect\" width=\"2940\" height=\"580\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a78\/4f7\/213\/a784f7213f9850a07480e4a5c698304b.png\"\/><\/p>\n<div><figcaption>App Store Connect<\/figcaption><\/div>\n<\/figure>\n<hr\/>\n<h3>\u041f\u0440\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f Codemagic<\/h3>\n<p>\u041a\u0430\u043a \u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0443 Codemagic \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0438 \u043b\u0438\u043c\u0438\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u0448\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u043f\u043e\u0434\u043f\u0438\u0441\u043e\u043a. \u0421 \u044d\u0442\u0438\u043c \u0442\u0430\u043a\u0436\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c:<\/p>\n<div class=\"embed_link\">\n<div class=\"embed__thumb\" style=\"background-image: url(&quot;https:\/\/codemagic.io\/media\/socials\/codemagic-facebook.png&quot;);\"><\/div>\n<div class=\"embed__caption\">\n<div class=\"embed__caption-title\"><span>Pricing | Codemagic<\/span><\/div>\n<p><a href=\"https:\/\/codemagic.io\/pricing\" target=\"_blank\" rel=\"noopener noreferrer nofollow\" class=\"embed__caption-link\">codemagic.io<\/a><\/div>\n<\/div>\n<p>\u0414\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u0441\u0435\u0440\u0432\u0438\u0441 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439. \u041d\u043e \u0435\u0441\u043b\u0438 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0434\u043e\u043f \u0444\u0438\u0447 \u0442\u0438\u043f\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u043b\u0430\u0442\u0438\u0442\u044c. \u0422\u0443\u0442 \u0443\u0436\u0435 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0430\u043c \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0440\u0435\u0448\u0430\u0435\u0442.<\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438, \u043a\u0430\u043a \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c CI\/CD \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 flutter \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 App Store Connect \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 Codemagic.<\/p>\n<p>\u041a\u0440\u0430\u0442\u043a\u043e, \u0447\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u0434\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u0434 iOS:<\/p>\n<ul>\n<li>\n<p>\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 <strong>.p12<\/strong>, \u043f\u0430\u0440\u043e\u043b\u044c \u043a \u043d\u0435\u043c\u0443 \u0438 \u043f\u0440\u043e\u0444\u0430\u0439\u043b <strong>.mobileprovision<\/strong> &#8212; \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0441\u0431\u043e\u0440\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>App Store Connect API Key <strong>.p8<\/strong>, <strong>Issuer ID<\/strong> \u0438 <strong>Key ID<\/strong> &#8212; \u0434\u043b\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 App Store Connect (TestFlight)<\/p>\n<\/li>\n<\/ul>\n<p>\u0427\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0443 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0432 App Store Connect:<\/p>\n<ul>\n<li>\n<p>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430<\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0438 \u0441\u043a\u0438\u0434\u044b\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0432\u0441\u0435 \u044d\u0442\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e. <br \/>\u041d\u043e \u044d\u0442\u043e \u0442\u043e\u0436\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e, \u0447\u0442\u043e\u0431\u044b \u043d\u0438\u043a\u0442\u043e \u043b\u0438\u0448\u043d\u0438\u0439 \u043d\u0435 \u043c\u043e\u0433 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u044b \u043a \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430\u043c \u0438\u043b\u0438 \u043a\u0430\u043a\u0438\u043c-\u043b\u0438\u0431\u043e \u0432\u0430\u0436\u043d\u044b\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0441\u044f \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b, \u043f\u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u2b06\ufe0f, \u0447\u0442\u043e\u0431\u044b \u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043b, \u0447\u0442\u043e \u0442\u0435\u043c\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430 \u0438 \u043f\u0438\u0441\u0430\u043b \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0435\u0439<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/796051\/\"> https:\/\/habr.com\/ru\/articles\/796051\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438, \u043a\u0430\u043a \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 CI\/CD \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u043e\u0434 Android \u0447\u0435\u0440\u0435\u0437 Codemagic.<\/p>\n<div class=\"embed_link embed_layout-right\">\n<div class=\"embed__thumb\" style=\"background-image: url(&quot;https:\/\/habr.com\/share\/publication\/795991\/33acb59c9277788fa4933b02b125b533\/&quot;);\"><\/div>\n<div class=\"embed__caption\">\n<div class=\"embed__caption-title\"><span>\u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 CI\/CD \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u0434\u043b\u044f flutter \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 Codemagic. \u0427\u0430\u0441\u0442\u044c 1<\/span><\/div>\n<div class=\"embed__caption-description\">\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0432\u044b \u044f\u0432\u043b\u044f\u0435\u0442\u0435\u0441\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u043d\u0430 \u043a\u0430\u043a\u043e\u043c-\u043d\u0438\u0431\u0443\u0434\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435. \u0415\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u043e\u0441&#8230;<\/div>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/795991\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\" class=\"embed__caption-link\">habr.com<\/a><\/div>\n<\/div>\n<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u0445\u043e\u0436\u0435\u0435 \u0434\u043b\u044f iOS. \u042f \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0445\u0438\u0442\u0440\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0438\u043d\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u043d\u043e \u0441 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e.<\/p>\n<hr\/>\n<h3>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Codemagic \u0434\u043b\u044f iOS. \u0420\u0435\u043b\u0438\u0437\u043d\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 \u0441 \u043f\u043e\u0434\u043f\u0438\u0441\u044c\u044e<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0441 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u0432 \u0410\u043d\u0434\u0440\u043e\u0438\u0434, \u0442\u043e \u0442\u0443\u0442 \u0432\u0441\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432 \u0442\u044b\u0441\u044f\u0447\u0443 \u0440\u0430\u0437 \u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u041d\u0430\u043f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0441\u0431\u043e\u0440\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0432 AppStore, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b: <\/p>\n<ul>\n<li>\n<p>\u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c .p12 \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u043a \u043d\u0435\u043c\u0443. \u0422\u0443\u0442 \u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0431\u044b\u043b \u0434\u043b\u044f Distribution \u0438\u043b\u0438 iOS Distribution<\/p>\n<\/li>\n<li>\n<p>\u043f\u0440\u043e\u0444\u0430\u0439\u043b \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c .mobileprovision \u0441 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c \u043f\u0440\u0430\u0432\u043e\u043c \u043d\u0430 App Store Connect Distribution<\/p>\n<\/li>\n<\/ul>\n<h4>\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 .p12<\/h4>\n<p><strong>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a.<\/strong> \u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430 \u0441\u0432\u043e\u0435\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435 <strong>signingRequest<\/strong>.<\/p>\n<ul>\n<li>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c <strong>Keychain Access<\/strong><\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0440\u0435\u043a\u0432\u0435\u0441\u0442 &#171;<strong>Request a Certificate From a Certificate Authority&#8230;<\/strong>&#187; \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u0430 \u0434\u0438\u0441\u043a, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0430\u0445. <\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\">\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0444\u0430\u0439\u043b<\/p>\n<\/li>\n<\/ul>\n<figure class=\"\">\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<p><strong>\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435! \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0448\u0430\u0433\u0438 \u043c\u043e\u0436\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043b\u0430\u0434\u0435\u043b\u0435\u0446 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0432 App Store Connect, \u0435\u0441\u043b\u0438 \u043e\u043d \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0432 Apple Developer Program \u043a\u0430\u043a Individual.<\/strong><\/p>\n<ul>\n<li>\n<p>\u041e\u0442\u043a\u0440\u044b\u0442\u044c <a href=\"https:\/\/developer.apple.com\/account\/resources\/certificates\/list\" rel=\"noopener noreferrer nofollow\"><strong>Certificates, Identifiers &amp; Profiles<\/strong><\/a>, \u0440\u0430\u0437\u0434\u0435\u043b <strong>Certificates <\/strong>\u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u043f\u043b\u044e\u0441<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u043b\u0438\u0431\u043e <strong>Apple Distribution<\/strong>, \u043b\u0438\u0431\u043e <strong>iOS Distribution <\/strong>(\u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f iOS)<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0440\u0430\u043d\u0435\u0435 \u0440\u0435\u043a\u0432\u0435\u0441\u0442 \u0444\u0430\u0439\u043b<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0444\u0430\u0439\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u0440\u0435\u043a\u0432\u0435\u0441\u0442<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0444\u0430\u0439\u043b<\/p>\n<\/li>\n<\/ul>\n<figure class=\"\">\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<p><strong>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a. <\/strong>\u0423 \u0441\u0435\u0431\u044f \u043d\u0430 MacOS \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0442\u043a\u0440\u044b\u0442\u044c ios_distribution.cer, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043a\u043e\u0439 \u0432\u0438\u0434<\/p>\n<figure class=\"full-width\">\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0421\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u043a\u0441\u043f\u043e\u0440\u0442 <\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\">\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0414\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0444\u0430\u0439\u043b<\/p>\n<\/li>\n<\/ul>\n<figure class=\"\">\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<p>\u041e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0435\u0433\u043e \u043d\u0430 \u0431\u0443\u0434\u0443\u0449\u0435\u0435<\/p>\n<h4>\u041f\u0440\u043e\u0444\u0430\u0439\u043b .mobileProvision<\/h4>\n<p><strong>\u0412\u043b\u0430\u0434\u0435\u043b\u0435\u0446 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0432 App Store Connect <\/strong>\u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0442\u043a\u0440\u044b\u0442\u044c <a href=\"https:\/\/developer.apple.com\/account\/resources\/profiles\/list\" rel=\"noopener noreferrer nofollow\"><strong>Certificates, Identifiers &amp; Profiles<\/strong><\/a>, \u0440\u0430\u0437\u0434\u0435\u043b <strong>Profiles<\/strong> \u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u043f\u043b\u044e\u0441<\/p>\n<figure class=\"full-width\">\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0412\u044b\u0431\u0440\u0430\u0442\u044c <strong>App Store Connect<\/strong> \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>Distribution<\/strong> <\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0412\u044b\u0431\u0440\u0430\u0442\u044c, \u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0443\u0436\u0435\u043d \u043f\u0440\u043e\u0444\u0430\u0439\u043b<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0440\u0430\u043d\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u041f\u0440\u0438\u0434\u0443\u043c\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\">\n<div><figcaption>Developer Apple<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u0444\u0430\u0439\u043b<\/p>\n<\/li>\n<\/ul>\n<figure class=\"\">\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<p><em>\u041f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043d\u043e\u0432\u043e\u0439 \u0444\u0438\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u043d\u0435\u0435 \u043d\u0435 \u0431\u044b\u043b\u043e \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u043f\u043e\u043a\u0443\u043f\u043a\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442<\/em> <em>\u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0444\u0430\u0439\u043b!<\/em><\/p>\n<h4>Codemagic<\/h4>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 .p12 \u0438 \u043f\u0440\u043e\u0444\u0430\u0439\u043b .mobileProvision, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 Codemagic. \u0414\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u0441\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e<\/p>\n<ul>\n<li>\n<p>\u0420\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u0435\u043a\u0446\u0438\u044e <strong>iOS code signing<\/strong> <\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043c\u0435\u0442\u043e\u0434 <strong>Manual<\/strong>, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0444\u0430\u0439\u043b\u044b \u0438 \u0432\u0432\u043e\u0434\u0438\u043c \u043f\u0430\u0440\u043e\u043b\u044c \u043e\u0442 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\">\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u043e\u0434 iOS \u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u044d\u0442\u043e:<\/p>\n<figure class=\"full-width\">\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u044b \u0438 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0438\u0445 \u043f\u043e \u043c\u0435\u0441\u0442\u0443 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<\/p>\n<h4>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Codemagic \u0434\u043b\u044f iOS. \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0432 App Store Connect<\/h4>\n<p>\u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0410\u043d\u0434\u0440\u043e\u0438\u0434 \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 Google Cloud Console, \u0437\u0434\u0435\u0441\u044c \u0432\u0441\u0451 \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u043c\u043e\u0433\u043b\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0441 \u043f\u043e\u0434\u043f\u0438\u0441\u044c\u044e.<\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u0442\u0430\u043a\u0436\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f <strong>\u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430<\/strong> <strong>AppStoreConnect!<\/strong><\/p>\n<ul>\n<li>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c <strong>Users and Access<\/strong>, \u0440\u0430\u0437\u0434\u0435\u043b <strong>Integrations<\/strong> (<a href=\"https:\/\/appstoreconnect.apple.com\/access\/integrations\/api\" rel=\"noopener noreferrer nofollow\">\u0441\u0441\u044b\u043b\u043a\u0430<\/a>) \u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u043f\u043b\u044e\u0441, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043a\u043b\u044e\u0447<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>App Store Connect<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u0430\u0442\u044c \u044d\u0442\u043e\u043c\u0443 \u043a\u043b\u044e\u0447\u0443 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c <strong>App Manager<\/strong><\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>App Store Connect<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u041a\u043b\u044e\u0447 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e <strong>\u043e\u0434\u0438\u043d \u0440\u0430\u0437<\/strong>. \u0422\u0430\u043a\u0436\u0435 \u043d\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c Issuer ID \u0438 Key ID, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0442\u043e\u043c<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>App Store Connect<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0421\u043a\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<\/li>\n<\/ul>\n<figure class=\"\">\n<div><figcaption>MacOS<\/figcaption><\/div>\n<\/figure>\n<p>\u0415\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443. <\/p>\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0448\u0430\u0433\u0438 \u043c\u043e\u0436\u0435\u0442 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c <strong>\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0420\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u0435\u043a\u0446\u0438\u044e <strong>App Store Connect<\/strong>. \u0414\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u0432\u0438\u0434<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\">\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0417\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u043e\u043b\u044f, \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u0438 \u043f\u0440\u0438\u0434\u0443\u043c\u044b\u0432\u0430\u0435\u043c \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0449\u0435\u0435\u0441\u044f \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<ul>\n<li>\n<p>\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 <strong>App Store Connect<\/strong><\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width\">\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u0432\u0435\u0440\u043d\u043e, \u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u043e\u0434 iOS \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043a\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<\/p>\n<figure class=\"full-width\">\n<div><figcaption>codemagic.io<\/figcaption><\/div>\n<\/figure>\n<p>\u0410 \u0432 TestFlight \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0439:<\/p>\n<figure class=\"full-width\">\n<div><figcaption>App Store Connect<\/figcaption><\/div>\n<\/figure>\n<hr\/>\n<h3>\u041f\u0440\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f Codemagic<\/h3>\n<p>\u041a\u0430\u043a \u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0443 Codemagic \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0438 \u043b\u0438\u043c\u0438\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u0448\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u043f\u043e\u0434\u043f\u0438\u0441\u043e\u043a. \u0421 \u044d\u0442\u0438\u043c \u0442\u0430\u043a\u0436\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c:<\/p>\n<div class=\"embed_link\">\n<div class=\"embed__thumb\" style=\"background-image: url(&quot;https:\/\/codemagic.io\/media\/socials\/codemagic-facebook.png&quot;);\"><\/div>\n<div class=\"embed__caption\">\n<div class=\"embed__caption-title\"><span>Pricing | Codemagic<\/span><\/div>\n<p><a href=\"https:\/\/codemagic.io\/pricing\" target=\"_blank\" rel=\"noopener noreferrer nofollow\" class=\"embed__caption-link\">codemagic.io<\/a><\/div>\n<\/div>\n<p>\u0414\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u0441\u0435\u0440\u0432\u0438\u0441 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439. \u041d\u043e \u0435\u0441\u043b\u0438 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0434\u043e\u043f \u0444\u0438\u0447 \u0442\u0438\u043f\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u043b\u0430\u0442\u0438\u0442\u044c. \u0422\u0443\u0442 \u0443\u0436\u0435 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0430\u043c \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0440\u0435\u0448\u0430\u0435\u0442.<\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438, \u043a\u0430\u043a \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c CI\/CD \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 flutter \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 App Store Connect \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 Codemagic.<\/p>\n<p>\u041a\u0440\u0430\u0442\u043a\u043e, \u0447\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u0434\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u0434 iOS:<\/p>\n<ul>\n<li>\n<p>\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 <strong>.p12<\/strong>, \u043f\u0430\u0440\u043e\u043b\u044c \u043a \u043d\u0435\u043c\u0443 \u0438 \u043f\u0440\u043e\u0444\u0430\u0439\u043b <strong>.mobileprovision<\/strong> &#8212; \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0441\u0431\u043e\u0440\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>App Store Connect API Key <strong>.p8<\/strong>, <strong>Issuer ID<\/strong> \u0438 <strong>Key ID<\/strong> &#8212; \u0434\u043b\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 App Store Connect (TestFlight)<\/p>\n<\/li>\n<\/ul>\n<p>\u0427\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0443 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0432 App Store Connect:<\/p>\n<ul>\n<li>\n<p>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430<\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0438 \u0441\u043a\u0438\u0434\u044b\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0432\u0441\u0435 \u044d\u0442\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e. <br \/>\u041d\u043e \u044d\u0442\u043e \u0442\u043e\u0436\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e, \u0447\u0442\u043e\u0431\u044b \u043d\u0438\u043a\u0442\u043e \u043b\u0438\u0448\u043d\u0438\u0439 \u043d\u0435 \u043c\u043e\u0433 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u044b \u043a \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430\u043c \u0438\u043b\u0438 \u043a\u0430\u043a\u0438\u043c-\u043b\u0438\u0431\u043e \u0432\u0430\u0436\u043d\u044b\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0441\u044f \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b, \u043f\u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u2b06\ufe0f, \u0447\u0442\u043e\u0431\u044b \u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043b, \u0447\u0442\u043e \u0442\u0435\u043c\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430 \u0438 \u043f\u0438\u0441\u0430\u043b \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0435\u0439<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/796051\/\"> https:\/\/habr.com\/ru\/articles\/796051\/<\/a><br \/><\/br><\/br><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-369148","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/369148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=369148"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/369148\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=369148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=369148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=369148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}