Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«iOS. ΠŸΡ€ΠΈΠ΅ΠΌΡ‹ программирования». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 159

Автор Π’Π°Π½Π΄Π°Π΄ Нахавандипур

ΠŸΡ€ΠΈ создании сСртификата Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги.

1. Π’ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ†Π΅Π½Ρ‚Ρ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для iOS (iOS Dev Center). НС Π±ΡƒΠ΄Ρƒ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ здСсь ссылку, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΎΠΉ запрос Π² поисковик β€” ΠΈ ΠΎΠ½ выдаст Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ΠΉ сайт Π² ΠΌΠ³Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΎΠΊΠ°.

2. Π•сли Π²Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ вошли Π½Π° сайт ΠΏΠΎΠ΄ вашСй ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записью, сдСлайтС это.

3. ΠžΠΊΠ°Π·Π°Π²ΡˆΠΈΡΡŒ Π² систСмС, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° страницу Certificates, Identifiers & Profiles (Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚Ρ‹, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ).

4. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° страницу Identifiers (Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹) ΠΈ Π΄Π°Π»Π΅Π΅ Π½Π° страницу Pass Type ID (ID Ρ‚ΠΈΠΏΠ° Ρ‚Π°Π»ΠΎΠ½Π°). Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Π΄Π΅Π» находится Π² Π»Π΅Π²ΠΎΠΉ части экрана.

5. ΠšΠΎΠ³Π΄Π° Π²Ρ‹ ΠΎΠΊΠ°ΠΆΠ΅Ρ‚Π΅ΡΡŒ Π½Π° Π½ΡƒΠΆΠ½ΠΎΠΉ страницС, ΠΎΠ½Π°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅Ρ‰Π΅ Π±ΡƒΠ΄Π΅Ρ‚ пуста. НайдитС ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΡΠΊΡ€Π°Π½Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ +.

6. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² ΠΏΠΎΠ»Π΅ Description (ОписаниС) Π²Π²Π΅Π΄ΠΈΡ‚Π΅ тСкст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ID Ρ‚ΠΈΠΏΠ° вашСго Ρ‚Π°Π»ΠΎΠ½Π°.

7. Π’ ΠΏΠΎΠ»Π΅ Identifier (Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€) Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚Π°Π»ΠΎΠ½Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ. НапримСр, Ссли ID вашСго прилоТСния β€” com.pixolity.testingpasskit, Ρ‚ΠΎ для Ρ‚Π°Π»ΠΎΠ½ΠΎΠ², ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… с Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ pass.pixolity.ios.cookbook.testingpasses. РазумССтся, слСдуСт ΠΏΠΎΠ΄Π±ΠΈΡ€Π°Ρ‚ΡŒ для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Ρ‚Π°Π»ΠΎΠ½ΠΎΠ² Ρ‚Π°ΠΊΠΈΠ΅ названия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Π² контСкстС вашСго прилоТСния. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ принято Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ имя ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° с pass, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. На рис. 19.3 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ поля Π½Π° этой страницС.


Рис. 19.3. ВнСсСниС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ простом ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π΅ Ρ‚ΠΈΠΏΠ° Ρ‚Π°Π»ΠΎΠ½Π°


Когда Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этой страницы, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Continue (ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ). Π’Π°ΠΌ для ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСн Ρ‚Π°Π»ΠΎΠ½. Если вас всС устроит, просто Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Register (Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ) (рис. 19.4). Π˜Ρ‚Π°ΠΊ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚ΠΈΠΏΠ° Ρ‚Π°Π»ΠΎΠ½Π°. Но ΠΎΠ½ ΠΏΠΎΠΊΠ° Π½Π΅ связан Π½ΠΈ с ΠΎΠ΄Π½ΠΈΠΌ сСртификатом. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сСртификат ΠΈ Π°ΡΡΠΎΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ с вашим ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Ρ‚ΠΈΠΏΠ° Ρ‚Π°Π»ΠΎΠ½Π°, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги.


Рис. 19.4. Если вся информация ΡƒΠΊΠ°Π·Π°Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ созданиС ID Ρ‚ΠΈΠΏΠ° Ρ‚Π°Π»ΠΎΠ½Π°


1. Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ Pass Type ID (Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ‚ΠΈΠΏΠ° Ρ‚Π°Π»ΠΎΠ½Π°) Π½Π° ΠΏΠΎΡ€Ρ‚Π°Π»Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ iOS Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ созданный Π²Π°ΠΌΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Settings (Настройки) (рис. 19.5). Π’ столбцС Pass Certificate (Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚Ρ‹ Ρ‚Π°Π»ΠΎΠ½ΠΎΠ²) Π² этом спискС Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ваш ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚ΠΈΠΏΠ° Ρ‚Π°Π»ΠΎΠ½Π° ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ ΠΊΠ°ΠΊ None (ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΠ΅Ρ‚). Π’ столбцС Action (ДСйствия) Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ссылку Configure (Π‘ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ).


Рис. 19.5. Π—Π°Π΄Π°Π΅ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚ΠΈΠΏΠ° Ρ‚Π°Π»ΠΎΠ½Π°


2. Π’Ρ‹Π±Ρ€Π°Π² Π½Π° ΠΏΠΎΡ€Ρ‚Π°Π»Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚ΠΈΠΏΠ° Ρ‚Π°Π»ΠΎΠ½Π°, Π²Ρ‹ смоТСтС ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для Π½Π΅Π³ΠΎ сСртификат (рис. 19.6). ΠŸΡ€ΠΎΡΡ‚ΠΎ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Create Certificate (Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ сСртификат).


Рис. 19.6. ΠœΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сСртификат для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Ρ‚ΠΈΠΏΠ° Ρ‚Π°Π»ΠΎΠ½Π°


3. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ запрос Π½Π° подписываниС сСртификата, воспользовавшись доступом ΠΊ связкС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π½Π° Mac (рис. 19.7). Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ инструкциям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π½Π° экранС. Когда Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅ созданиС запроса Π½Π° подписываниС сСртификата, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΡΠΊΡ€Π°Π½Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Continue (ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ).


Рис. 19.7. ВыполняйтС инструкции ΠΏΠΎ созданию запроса Π½Π° подписываниС сСртификата

Запрос Π½Π° подписываниС сСртификата ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Mac. Для создания Ρ‚Π°ΠΊΠΎΠ³ΠΎ запроса Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π½Π° вашСй машинС установлСн Open SSL. ОписаниС гСнСрирования сСртификатов Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…, Π³Π΄Π΅ Π½Π΅ установлСн Mac, Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ этой ΠΊΠ½ΠΈΠ³ΠΈ. Однако, Ссли вас интСрСсуСт этот вопрос, Π²Ρ‹ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Π½Π΅Π³ΠΎ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ β€” достаточно Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ°Ρ‚ΡŒ.

Боздавая Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ запросы Π½Π° подписываниС сСртификата (это дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ доступа ΠΊ связкС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ), Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ создаСтС Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, ассоциированный с Ρ‚Π°ΠΊΠΈΠΌ сСртификатом. Apple Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… связки ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π° ΠΏΠΎΡ€Ρ‚Π°Π»Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ iOS эти ΠΊΠ»ΡŽΡ‡ΠΈ Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ. Если Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½ΠΎΠ²Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, Ρ‚ΠΎ ваши ΠΊΠ»ΡŽΡ‡ΠΈ Ρ‚ΡƒΠ΄Π° Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ пСрСнСсти Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ½ΠΈ ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ. Π­ΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ нСслоТно: Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ΠΊΠ»ΡŽΡ‡Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² контСкстном мСню ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Export (Π­ΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ).

4. Π”Π°Π»Π΅Π΅ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ запрос Π½Π° подписываниС сСртификата Π½Π° сайт Apple, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ сСртификат. Π—Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π±Ρ‹Π» создан Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π² Ρ‚ΠΎΡ‚ самый ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ запрос Π½Π° подписываниС сСртификата. Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Apple выдаст ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ процСсса, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ. Π”Π°Π»Π΅Π΅ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Choose File (Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ») Π½Π° этом экранС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ запрос Π½Π° подписываниС сСртификата, созданный для вас связкой ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (рис. 19.8). Π‘Π΄Π΅Π»Π°Π² это, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Generate (Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ).


Рис. 19.8. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° запроса Π½Π° подписываниС сСртификата Π½Π° сайт Apple для получСния ссылки Π½Π° сСртификат


5. ΠšΠΎΠ³Π΄Π° сСртификат сгСнСрирован, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ экран, ΠΊΠ°ΠΊ Π½Π° рис. 19.9. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Download (Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ сгСнСрированный сСртификат.


Рис. 19.9. Apple сообщаСт Π²Π°ΠΌ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сСртификат создан ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ


6. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π½Π° дискС Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ сСртификат. НайдитС этот Ρ„Π°ΠΉΠ» ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° Π½Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π²Π°ΡˆΡƒ связку ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ всС сработало ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для доступа ΠΊ связкС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (Keychain Access), Ρ‚Π°ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π» Login (УчСтная запись) ΠΈ Π΄Π°Π»Π΅Π΅ β€” Π² ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π» My Certificate (Мой сСртификат). Π—Π°Ρ‚Π΅ΠΌ Π² ΠΏΡ€Π°Π²ΠΎΠΉ части экрана ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ваш сСртификат Π½Π° мСстС ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ассоциирован с Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ (рис. 19.10).


Рис. 19.10. Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚, сгСнСрированный Apple, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ассоциирован с Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ


Π˜Ρ‚Π°ΠΊ, Π²Ρ‹ создали сСртификат ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°Π»ΠΎΠ½Ρ‹, Π° ΠΏΠΎΡ‚ΠΎΠΌ Ρ€Π°ΡΡΡ‹Π»Π°Ρ‚ΡŒ ΠΈΡ… Π½Π° устройства с iOS.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

Π Π°Π·Π΄Π΅Π» 19.0.

19.2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚Π°Π»ΠΎΠ½ΠΎΠ²

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

ВрСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Ρ‚Π°Π»ΠΎΠ½Π°, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ устройствС с iOS.

РСшСниС

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» pass.json ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΈ значСниями.

ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅

Для прСдставлСния Ρ‚Π°Π»ΠΎΠ½ΠΎΠ² Π²ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ Pass Kit компания Apple Π²Ρ‹Π±Ρ€Π°Π»Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ JSON. АббрСвиатура JSON Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Β«ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ нотация JavaScriptΒ», ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π²Π΅Π±-прилоТСниях ΠΈ Π²Π΅Π±-слуТбах. Однако Π²Ρ‹, Π±ΡƒΠ΄ΡƒΡ‡ΠΈ iOS-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ достаточных Π·Π½Π°Π½ΠΈΠΉ ΠΎ JSON.

Π€Π°ΠΉΠ»Ρ‹ JSON состоят ΠΈΠ· ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, этим ΠΎΠ½ΠΈ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ словари. ΠšΠ»ΡŽΡ‡ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° значСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ самыми Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ β€” ΠΎΡ‚ простой строки Π΄ΠΎ словаря, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ сам содСрТит ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ значСния. Π’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ JSON, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ всСми Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ΠΌΠΈ Ρ‡Π΅Ρ€Ρ‚Π°ΠΌΠΈ этой Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ:


{

Β«key 2 β€” dictionaryΒ» = {

Β«key 2.1Β» = Β«value 2.1Β»;

Β«key 2.2Β» = Β«value 2.2Β»;

};

Β«key 3 β€” arrayΒ» = (

{

Β«array item 1, key1Β» = value;

Β«array item 1, key2Β» = value;

},

{

Β«array item 2, key1Β» = value;

Β«array item 2, key2Β» = value;

}

);

key1 = value1;

}


Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, словари Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки, Π° массивы β€” Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅. Π”Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΏΠ°Ρ€Ρ‹ Β«ΠΊΠ»ΡŽΡ‡ β€” Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β». Если Π±Ρ‹ ΠΌΡ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ JSON Π² Π²ΠΈΠ΄Π΅ экзСмпляра NSDictionary, Ρ‚ΠΎ Ρƒ нас получился Π±Ρ‹ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄:


NSDictionary *json = @{

@"key1": @"value1",

@"key 2 β€” dictionary": @{

@"key 2.1": @"value 2.1",

@"key 2.2": @"value 2.2",

},

@"key 3 β€” array": @[

@{

@"array item 1, key1": @"value",

@"array item 1, key2": @"value"

},

@{

@"array item 2, key1": @"value",

@"array item 2, key2": @"value"

}

]

};


ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ JSON Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π° сайтС JSON.org. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ созданию Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚Π°Π»ΠΎΠ½ΠΎΠ². Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ, Ρ‚Π°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ» состоит ΠΈΠ· ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ JSON. НС ΠΏΡƒΡ‚Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Ρ‚Π°Π»ΠΎΠ½ΠΎΠ² ΠΈ сами Ρ‚Π°Π»ΠΎΠ½Ρ‹. Π’Π°Π»ΠΎΠ½ β€” это коллСкция Ρ„Π°ΠΉΠ»ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈ pass.json. Вся эта коллСкция Π² Ρ†Π΅Π»ΠΎΠΌ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой Ρ‚Π°Π»ΠΎΠ½ с Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписью, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ смоТСт ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° своСм устройствС. Π€Π°ΠΉΠ» Ρ‚Π°Π»ΠΎΠ½Π° Β«ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚Β», ΠΊΠ°ΠΊ Ρ‚Π°Π»ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ прСдставлСн Π½Π° устройствС.

Π€Π°ΠΉΠ» pass.json ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ высокоуровнСвых ΠΈ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. ВысокоуровнСвыми Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сразу ΠΆΠ΅ Π²ΠΈΠ΄Π½Ρ‹ Π² основной ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° pass.json. НизкоуровнСвыС ΠΊΠ»ΡŽΡ‡ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌΠΈ для высокоуровнСвых. НС Π²ΠΎΠ»Π½ΡƒΠΉΡ‚Π΅ΡΡŒ, Ссли ΠΏΠΎΠΊΠ° это Π½Π΅ совсСм понятно. Π― Ρ‚ΠΎΠΆΠ΅ сначала запутался Π² этой ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ, Π½ΠΎ Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ дальшС β€” ΠΈ стройная ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ слоТится.