{"id":433,"date":"2019-01-02T15:42:43","date_gmt":"2019-01-02T12:42:43","guid":{"rendered":"https:\/\/artem.services\/?p=433"},"modified":"2019-01-04T18:56:47","modified_gmt":"2019-01-04T15:56:47","slug":"fastlane-build-ios-application","status":"publish","type":"post","link":"https:\/\/artem.services\/?p=433","title":{"rendered":"Fastlane &#8212; \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 Apple \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432"},"content":{"rendered":"<p>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0441 \u043a\u043e\u0434\u043e\u043c. \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u043a\u043e\u0434\u0430 \u0434\u043b\u044f <strong>iOS<\/strong> \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nfastlane init\r\n<\/pre>\n<p>&nbsp;<\/p>\n<pre>[\u2714] ?\r\n[\u2714] Looking for iOS and Android projects in current directory...\r\n[11:06:05]: Created new folder '.\/fastlane'.\r\n[11:06:05]: Detected an iOS\/macOS project in the current directory: 'My-iOS-app.xcworkspace'\r\n[11:06:05]: -----------------------------\r\n[11:06:05]: --- Welcome to fastlane ? ---\r\n[11:06:05]: -----------------------------\r\n[11:06:05]: fastlane can help you with all kinds of automation for your mobile app\r\n[11:06:05]: We recommend automating one task first, and then gradually automating more over time\r\n[11:06:05]: What would you like to use fastlane for?\r\n1. ? Automate screenshots\r\n2. ?\u2708\ufe0f Automate beta distribution to TestFlight\r\n3. ? Automate App Store distribution\r\n4. ? Manual setup - manually setup your project to automate your tasks<\/pre>\n<p>\u0414\u043b\u044f \u043d\u0430\u0441 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 <strong>4<\/strong> &#8212; &quot;<strong>Manual setup<\/strong>&quot;<\/p>\n<p><!--more--><\/p>\n<p>\u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0438\u0440\u0438\u0439 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nfastlane match init\r\n<\/pre>\n<p>&nbsp;<\/p>\n<pre>[\u2714] ?\r\n[13:26:32]: Please create a new, private git repository\r\n[13:26:32]: to store the certificates and profiles there\r\n[13:26:32]: URL of the Git Repo: git@bitbucket.org:artem\/certificates.git\r\n[13:26:59]: Successfully created '.\/fastlane\/Matchfile'. You can open the file using a code editor.\r\n[13:26:59]: You can now run `fastlane match development`, `fastlane match adhoc`, `fastlane match enterprise` and `fastlane match appstore`\r\n[13:26:59]: On the first run for each environment it will create the provisioning profiles and\r\n[13:26:59]: certificates for you. From then on, it will automatically import the existing profiles.\r\n[13:26:59]: For more information visit https:\/\/docs.fastlane.tools\/actions\/match\/<\/pre>\n<p>\u0421\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 <strong>Bitbacket<\/strong> \u044f \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 <strong>SSH<\/strong>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u0433\u0434\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d <strong>Fastlane<\/strong> \u0431\u0435\u0440\u0435\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 <strong>SSH<\/strong> \u043a\u043b\u044e\u0447 \u0438 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0435\u0433\u043e \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f.<\/p>\n<blockquote><p>Bitbucket &#8212; Settings &#8212; Access Keys &#8212; Add key<\/p><\/blockquote>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0432 \u0443\u0447\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 <strong>Apple<\/strong> \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0441 \u0442\u0438\u043f\u043e\u043c &quot;<strong>iOS Distribution<\/strong>&quot;<\/p>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c <strong>AdHoc<\/strong> \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nfastlane match adhoc\r\n<\/pre>\n<p>&nbsp;<\/p>\n<pre>[\u2714] ?\r\n[13:41:25]: Successfully loaded '\/Users\/admin\/my-ios-app\/ios\/fastlane\/Matchfile' ?\r\n\r\n+---------+---------------------------------------------------------+\r\n|            Detected Values from '.\/fastlane\/Matchfile'            |\r\n+---------+---------------------------------------------------------+\r\n| git_url | git@bitbucket.org:artem\/certificates.git                |\r\n| type    | development                                             |\r\n+---------+---------------------------------------------------------+\r\n\r\n\r\n+-----------------------+---------------------------------------------------------+\r\n|                            Summary for match 2.112.0                            |\r\n+-----------------------+---------------------------------------------------------+\r\n| type                  | adhoc                                                   |\r\n| git_url               | git@bitbucket.org:artem\/certificates.git                |\r\n| git_branch            | master                                                  |\r\n| storage_mode          | git                                                     |\r\n| keychain_name         | login.keychain                                          |\r\n| readonly              | false                                                   |\r\n| verbose               | false                                                   |\r\n| force                 | false                                                   |\r\n| skip_confirmation     | false                                                   |\r\n| shallow_clone         | false                                                   |\r\n| clone_branch_directly | false                                                   |\r\n| force_for_new_devices | false                                                   |\r\n| skip_docs             | false                                                   |\r\n| platform              | ios                                                     |\r\n+-----------------------+---------------------------------------------------------+\r\n\r\n[13:41:25]: Cloning remote git repo...\r\n[13:41:25]: If cloning the repo takes too long, you can use the `clone_branch_directly` option in match.\r\n[13:41:27]: ?  Successfully decrypted certificates repo\r\n[13:41:27]: To not be asked about this value, you can specify it using 'username'\r\n[13:41:27]: Your Apple ID Username: artem@artem.services\r\n[13:42:23]: You can also run `fastlane match` in readonly mode to not require any access to the\r\n[13:42:23]: Developer Portal. This way you only share the keys and credentials\r\n[13:42:23]: $ fastlane match --readonly\r\n[13:42:23]: More information https:\/\/docs.fastlane.tools\/actions\/match\/#access-control\r\n[13:42:23]: Verifying that the certificate and profile are still valid on the Dev Portal...\r\n-------------------------------------------------------------------------------------\r\nPlease provide your Apple Developer Program account credentials\r\nThe login information you enter will be stored in your macOS Keychain\r\nYou can also pass the password using the `FASTLANE_PASSWORD` environment variable\r\nSee more information about it on GitHub: https:\/\/github.com\/fastlane\/fastlane\/tree\/master\/credentials_manager\r\n-------------------------------------------------------------------------------------\r\nPassword (for artem@artem.services): *********<\/pre>\n<p>\u0412\u0432\u043e\u0434\u0438\u043c <strong>Apple ID<\/strong> \u0438 <strong>\u043f\u0430\u0440\u043e\u043b\u044c <\/strong>\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c <strong>AdHoc<\/strong> \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438.<\/p>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c <strong>AppStore<\/strong> \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nfastlane match appstore\r\n<\/pre>\n<p>\u0412\u0432\u043e\u0434\u0438\u043c <strong>Apple ID<\/strong> \u0438 <strong>\u043f\u0430\u0440\u043e\u043b\u044c <\/strong>\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c <strong>AppStore<\/strong> \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438.<\/p>\n<blockquote><p>\u0414\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0434\u0440\u0443\u0433\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432, \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0444\u0430\u0439\u043b <strong>Matchfile<\/strong><\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<h3>Matchfile:<\/h3>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ngit_url(&quot;git@bitbucket.org:artem\/certificates.git&quot;)\r\ngit_branch(&quot;my-ios-ap&quot;)\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0441 \u043a\u043e\u0434\u043e\u043c. \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u043a\u043e\u0434\u0430 \u0434\u043b\u044f iOS \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c: &nbsp; [\u2714] ? [\u2714] Looking for iOS and Android projects in current directory&#8230; [11:06:05]: Created new folder &#39;.\/fastlane&#39;. [11:06:05]: Detected an iOS\/macOS project in the current directory: &#39;My-iOS-app.xcworkspace&#39; [11:06:05]: &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; [11:06:05]: &#8212; Welcome to fastlane ? &#8212; [11:06:05]: &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; [11:06:05]: fastlane can help &hellip; <a href=\"https:\/\/artem.services\/?p=433\" class=\"more-link\">\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0447\u0438\u0442\u0430\u0442\u044c<span class=\"screen-reader-text\"> &quot;Fastlane &#8212; \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 Apple \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432&quot;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[37],"tags":[39,118,119],"_links":{"self":[{"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts\/433"}],"collection":[{"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=433"}],"version-history":[{"count":15,"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts\/433\/revisions"}],"predecessor-version":[{"id":467,"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts\/433\/revisions\/467"}],"wp:attachment":[{"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=433"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=433"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=433"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}