Tehnografi.com - ВСхнологичСскиС новости, ΠΎΠ±Π·ΠΎΡ€Ρ‹ ΠΈ совСты

ИспользованиС CocoaPods с ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΎΠΉ Xcode

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ: ИспользованиС CocoaPods с ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΎΠΉ Xcode

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² Π±Π»ΠΎΠ³

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ Π² Xcode β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ способ ΠΏΠΎΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Swift, ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Swift ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. А CocoaPods ΠΌΠΎΠΆΠ΅Ρ‚ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сторонниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ Π² ваш ΠΊΠΎΠ΄!

Однако ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CocoaPods ΠΈ ΠΈΠ³Ρ€ΠΎΠ²ΡƒΡŽ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΡƒ вмСстС. ΠœΡ‹ собираСмся Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ сСгодня Π² этом ΡƒΡ€ΠΎΠΊΠ΅. Π― ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ваши Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ с CocoaPods, ΠΈ ΠΎΠΏΡ€ΠΎΠ±ΡƒΡŽ ΠΈΡ… Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ΅.

Но… Π·Π°Ρ‡Π΅ΠΌ Ρ‚Π΅Π±Π΅ это Π΄Π΅Π»Π°Ρ‚ΡŒ? ИспользованиС CocoaPods с ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько прСимущСств:

  • Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΈΠ»ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, Π½Π΅ создавая ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Xcode.
  • Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ΠΈ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Π½Π΅ΠΉ Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ΅.
  • Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΎΠΊ ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠ΄Π° Π²Π°ΡˆΠΈΡ… Π»ΡŽΠ±ΠΈΠΌΡ‹Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

CocoaPods β€” это Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ зависимостСй. Π’Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΅Π³ΠΎ для добавлСния Π² своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ зависимостСй, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ сторонниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. CocoaPods ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ популярныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Swift, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Alamofire, ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΠΎΠ΄ Π² Π±Π°Π·Ρƒ ΠΊΠΎΠ΄Π° вашСго прилоТСния.

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ (Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ Β«ΠΌΠΎΠ΄ΡƒΠ»ΡŒΒ») Π² своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ инструмСнты ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки CocoaPods, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ состоянии с Π½ΠΎΠ²Ρ‹ΠΌΠΈ вСрсиями. А Ρƒ CocoaPods Π΅ΡΡ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ вашСго ΠΊΠΎΠ΄Π° для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… вСрсий Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Π’Ρ‹ сообщаСтС CocoaPods, ΠΊΠ°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ простого Ρ„Π°ΠΉΠ»Π°, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Podfile. CocoaPods Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ этот Ρ„Π°ΠΉΠ», Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ сторонниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ добавляСт ΠΈΡ… Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Pods Xcode. Π—Π°Ρ‚Π΅ΠΌ этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Xcode вашСго прилоТСния Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ. Π­Ρ‚ΠΎ эффСктивно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ ΠΊΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² ваш собствСнный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

CocoaPods Π±Ρ‹Π» ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ зависимостСй для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ iOS. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Carthage ΠΈΠ»ΠΈ Swift Package Manager. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π² этом руководствС, Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Carthage ΠΈ Swift Package Manager.

Π‘Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ убСдимся, Ρ‡Ρ‚ΠΎ Π²Ρ‹ установили CocoaPods Π½Π° свой Mac. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

$ pod – вСрсия

Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π½Π°ΠΊ $ (Π·Π½Π°ΠΊ Π΄ΠΎΠ»Π»Π°Ρ€Π°) Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅ это просто ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ тСкст слСдуСт Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅. И всСгда провСряйтС, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚Π΅! НС Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ просто всС, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π»ΠΈ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.

Если привСдСнная Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ «Команда Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°Β», установитС CocoaPods с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

$ sudo gem ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠ°ΠΎΠΏΠΎΠ΄Ρ‹

Π­Ρ‚ΠΎ установит Β«Π΄Ρ€Π°Π³ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ камСнь» Ruby для CocoaPods. CocoaPods Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ с использованиСм языка программирования Ruby, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ установлСн Π² macOS.

РСкомСндуСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ CocoaPods Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ состоянии Π΄ΠΎ послСднСй вСрсии. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ CocoaPods, просто ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Ρ‚Ρƒ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

$ sudo gem ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠ°ΠΎΠΏΠΎΠ΄Ρ‹

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ установили CocoaPods, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ!

НС сущСствуСт простого способа Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΡƒΡŽ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΡƒ, Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ собираСмся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ сСгодня, довольно Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ этому.

Π’ΠΎΡ‚ ΡΡƒΡ‚ΡŒ:

  1. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Xcode
  2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Ρ„Π°ΠΉΠ»
  3. УстановитС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CocoaPods
  4. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΈΠ³Ρ€ΠΎΠ²ΡƒΡŽ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΡƒ Π² Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ пространство
  5. Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ модуля прямо Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ΅.

Если Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с CocoaPods, Xcode ΠΈ использованиСм ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΎΠΊ β€” Π΄Π΅Ρ€Π·Π°ΠΉΡ‚Π΅. ΠŸΡ€ΠΈΡΡ‚Π½ΠΎΠ³ΠΎ кодирования! Если Π½Π΅Ρ‚, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΡˆΠ°Π³Ρƒ.

1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Xcode

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ создадим простой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² Xcode. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ:

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Xcode Π½Π° своСм Mac
  2. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Π€Π°ΠΉΠ»Β» -> Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΒ» -> Β«ΠŸΡ€ΠΎΠ΅ΠΊΡ‚β€¦Β».
  3. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ шаблон прилоТСния Single View ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π”Π°Π»Π΅Π΅Β».
  4. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ CocoaPodsExample Π² качСствС ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π”Π°Π»Π΅Π΅Β».
  5. НаконСц, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ мСсто для сохранСния этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΒ».

2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Ρ„Π°ΠΉΠ»

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ собираСмся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Podfile. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ:

  1. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ CocoaPodsExample Π² НавигаторС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² справа ΠΎΡ‚ Xcode ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ «Новый файл…».
  2. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ пустой шаблон Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Β«Π”Ρ€ΡƒΠ³ΠΎΠ΅Β» (ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠ·) ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π”Π°Π»Π΅Π΅Β».
  3. НазовитС Ρ„Π°ΠΉΠ» Podfile ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ сохранитС Π΅Π³ΠΎ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Ρ‡Ρ‚ΠΎ ΠΈ Ρ„Π°ΠΉΠ» CocoaPodsExample.xcodeproj.
  4. НаконСц, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΒ».

Note: ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» Podfile ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ большС. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Podfile.

Π—Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² ΠΏΠΎΠ΄Ρ„Π°ΠΉΠ» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСкст:

ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°: iOS, ‘11.0’
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅_frameworks!

Ρ†Π΅Π»ΡŒ Β«CocoaPodsExampleΒ» ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ
ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Β«SwiftyJSONΒ», Β«~> 4.0Β»
ΠΊΠΎΠ½Π΅Ρ†

Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ этот ΠΊΠΎΠ΄?

  • ΠŸΠ΅Ρ€Π²Π°Ρ строка с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ сообщаСт CocoaPods, Ρ‡Ρ‚ΠΎ вСрсия iOS, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ, β€” iOS 11.0. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это соотвСтствуСт вСрсии развСртывания вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Xcode.
  • use_frameworks! ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Cocoa Touch Framework вмСсто статичСских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. ΠšΠΎΡ€ΠΎΡ‡Π΅ говоря, это нСобходимая настройка для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ, написанными Π½Π° Swift.
  • Π¦Π΅Π»Π΅Π²ΠΎΠΉ Π±Π»ΠΎΠΊ содСрТит ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ сборки. Π’ нашСм случаС это CocoaPodsExample. Π­Ρ‚ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° прилоТСния.
  • Код модуля Β«SwiftyJSONΒ», Β«~> 4.0Β» являСтся самым Π²Π°ΠΆΠ½Ρ‹ΠΌ! Он сообщаСт CocoaPods, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ SwiftyJSON Π² нашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ логичСскиС выраТСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ >=, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ вСрсии ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π²Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Π² своСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Если Π²Ρ‹ опуститС Ρ‡Π°ΡΡ‚ΡŒ Β«~> 4.0Β», CocoaPods Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ этого модуля. Π­Ρ‚ΠΎ часто рСкомСндуСтся Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

~> называСтся оптимистичСским ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ вСрсии Β«Π΄ΠΎΒ» ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ вСрсии. НапримСр, ~> 4.0 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅ΠΌ Π»ΡŽΠ±ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΎΡ‚ 4.0 Π΄ΠΎ 4.9 (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ), Π½ΠΎ Π½Π΅ 5.0. Он идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ситуаций, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ обновлСния для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΌΠΈ обновлСниями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ ваш ΠΊΠΎΠ΄.

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ CocoaPods, являСтся Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΎ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ мноТСство практичСских Ρ‚Π΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

3. УстановитС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CocoaPods

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° CocoaPods Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΡ… установим.

Π‘Π½Π°Ρ‡Π°Π»Π° Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² Xcode, Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ сам Xcode.

Π—Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ cd, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Если Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΏΡ€ΠΎΡ‰Π΅ всСго просто ввСсти cd Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ· Finder Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Enter.

Π—Π°Ρ‚Π΅ΠΌ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ это Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС:

$ установка модуля

Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈΠ· вашСго Podfile, создав этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Pods ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π΅Π³ΠΎ Π² Π½ΠΎΠ²ΠΎΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ пространство.

CocoaPods Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ большой Ρ„Π°ΠΉΠ», Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ podspec, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ CocoaPods Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΈΠ»ΠΈ Ссли Π²Ρ‹ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя Π½Π΅ использовали CocoaPods. Π’ зависимости ΠΎΡ‚ скорости вашСго ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° подспСцификации это ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ нСсколько ΠΌΠΈΠ½ΡƒΡ‚.

Когда ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ установлСн, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого:

Анализ зависимостСй
Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° зависимостСй
Установка SwiftyJSON (4.1.0)
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Pods
Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ клиСнтского ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
[!] ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ всС Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ сСансы Xcode ΠΈ с этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ CocoaPodsExample.xcworkspace для этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
Установка ΠΏΠΎΠ΄Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°! УстановлСна ​​1 Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΏΠΎΠ΄Ρ„Π°ΠΉΠ»Π° ΠΈ всСго 1 ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.

Π’ΠΈΠ΄ΠΈΡ‚Π΅ это ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅? Π‘ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π²Π°ΠΌ придСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CocoaPodsExample.xcworkspace. Π˜Ρ‚Π°ΠΊ, Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ этот Ρ„Π°ΠΉΠ» Π² Finder ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² Xcode.

Π’Π°Ρˆ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ выглядит Β«Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΒ» ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области? Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ сначала Π·Π°ΠΊΡ€Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Xcode, Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΅Π΅ снова.
ИспользованиС CocoaPods с ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΎΠΉ Xcode

4. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΈΠ³Ρ€ΠΎΠ²ΡƒΡŽ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΡƒ Π² Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ пространство

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ использования CocoaPods с ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΎΠΉ являСтся Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Π° Π½Π΅ просто созданиС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ. Π˜Ρ‚Π°ΠΊ, Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ сдСлаСм дальшС.

ΠžΡ‚ΠΊΡ€Ρ‹Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π² Xcode, сдСлайтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  • Π‘Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Π€Π°ΠΉΠ»Β» -> Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΒ» -> Β«Π˜Π³Ρ€ΠΎΠ²Π°Ρ площадка»…
  • Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ пустой шаблон.
  • Π—Π°Ρ‚Π΅ΠΌ Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» CocoaPodsExample ΠΈ сохранитС Ρ„Π°ΠΉΠ» ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Ρ‡Ρ‚ΠΎ ΠΈ вашС Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ пространство Xcode.
  • НаконСц, Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ появившийся Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ.

Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» CocoaPodsExample.playground Π² Finder ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΈΠ· Finder Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Xcode.

Xcode, вСроятно, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ ΠΈΠ³Ρ€ΠΎΠ²ΡƒΡŽ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΡƒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ CocoaPodsExample. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° прямо Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ!

Π’ НавигаторС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π½Π° самый Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ. Когда Xcode создаст копию ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ, просто ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ ссылку Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΡƒΡŽ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΡƒ.

Π­Ρ‚ΠΎΡ‚ шаг Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ, Π½ΠΎ Π²Ρ‹ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ сдСлали всС ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ссли ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ вашСго Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ пространства ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

5. Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Pod Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ΅

ПослСдний шаг β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ CocoaPods Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ нСпосрСдствСнно Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ΅. Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° использованиС модуля Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Xcode, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части Ρ„Π°ΠΉΠ»Π°.

Π‘Π½Π°Ρ‡Π°Π»Π° скомпилируйтС Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Π½Π°ΠΆΠ°Π² Command-B. Π­Ρ‚ΠΎ скомпилируСт ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области ΠΈ сдСлаСт ΠΌΠΎΠ΄ΡƒΠ»ΠΈ модуля доступными Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ΅.

Π—Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΈΠ³Ρ€ΠΎΠ²ΡƒΡŽ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΡƒ Π² Xcode, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² Π΅Π΅ Π² НавигаторС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ это Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части Ρ„Π°ΠΉΠ»Π°:

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ SwiftyJSON

Когда Π²Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ Β«SwiftyΒ», доступныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΡƒΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠΎΠ»Π΅ автозаполнСния. Π’Π°ΠΊ:

ΠŸΡ€ΠΈ компиляции Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области ΠΈ запускС ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ нСсколько распространСнных ошибок. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Π΄Π΅Π», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этих ошибок.

НаконСц, Π΄Π°Π²Π°ΠΉΡ‚Π΅ заставим SwiftyJSON Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ! Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΡƒΡŽ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΡƒ:

let json = JSON(parseJSON: Β«{\Β»ΠΏΡ€ΠΈΠ²Π΅Ρ‚\Β»: \»ДСтская ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ°!\Β»}Β»)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (json[β€œhello”])
И ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ запуститС ΠΈΠ³Ρ€ΠΎΠ²ΡƒΡŽ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΡƒ, Π² консоли Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

ДСтская ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ°!
ΠŸΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΠΈΠΉ! Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ πŸ™‚

ΠŸΡ€ΠΈ использовании CocoaPods с ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ нСсколько распространСнных ошибок. НиТС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этих ошибок. А Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ совСтами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ максимально эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CocoaPods ΠΈ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ!

НСт Ρ‚Π°ΠΊΠΎΠ³ΠΎ модуля

Когда Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ Ρ‚ΠΈΠΏΠ° «НСт Ρ‚Π°ΠΊΠΎΠ³ΠΎ модуля SwiftyJSONΒ», Π²Ρ‹ Π³Π΄Π΅-Ρ‚ΠΎ пропустили шаг. Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ Ρ€Π°Π·Π΄Π΅Π»Ρƒ ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ скомпилировали Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Command-B.

НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ символы

Π­Ρ‚Π° ошибка появляСтся, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ CocoaPods вСрсии 1.5 с Xcode 9. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΅Π΅, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² ΠΊΠΎΠ½Π΅Ρ† вашСго ΠΏΠΎΠ΄Ρ„Π°ΠΉΠ»Π°:

post_install ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ |установщик|
installer.pods_project.build_configurations.each do |config|
config.build_settings.delete(‘CODE_SIGNING_ALLOWED’)
config.build_settings.delete(‘CODE_SIGNING_REQUIRED’)
ΠΊΠΎΠ½Π΅Ρ†

installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings[β€˜CONFIGURATION_BUILD_DIR’] = ‘$PODS_CONFIGURATION_BUILD_DIR’
ΠΊΠΎΠ½Π΅Ρ†
ΠΊΠΎΠ½Π΅Ρ†
ΠΊΠΎΠ½Π΅Ρ†

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ запуститС установку pod Π΅Ρ‰Π΅ Ρ€Π°Π·, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π½ΠΎΠ²ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Pods. Π—Π°Ρ‚Π΅ΠΌ очиститС сборку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Command-Shift-K, пСрСсобСритС Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Command-B ΠΈ запуститС ΠΈΠ³Ρ€ΠΎΠ²ΡƒΡŽ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΡƒ. Ошибка Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΡ‡Π΅Π·Π½ΡƒΡ‚ΡŒ.

JSON ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ null

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠΎΠ΄Π° SwiftyJSON, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ использовали Ρ€Π°Π½Π΅Π΅, константа json ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пустой, Ссли JSON Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½. Π˜Ρ‚Π°ΠΊ, Ссли Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ JSON, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ содСрТит ошибок. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ большС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SwiftyJSON здСсь: https://github.com/SwiftyJSON/SwiftyJSON.

Запуск ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ

Вас Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ваша игровая ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΏΠΎΠΊΠ° Π²Ρ‹ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚Π΅? УстановитС Ρ€ΡƒΡ‡Π½ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌ! Π£Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ВоспроизвСсти» Π² Π»Π΅Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽΒ».

Запуск ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ Π½Π° Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ срок

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с асинхронным ΠΈΠ»ΠΈ Π΄ΠΎΠ»Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΌΡΡ ΠΊΠΎΠ΄ΠΎΠΌ, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваша игровая ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° бСсконСчно. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС игровая ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒΡΡ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ вСрнСтся ваш асинхронный ΠΊΠΎΠ΄. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:

  • Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ import PlaygroundSupport Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ.
  • Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ PlaygroundPage.current.needsIndefiniteExecution = true Π² свой ΠΊΠΎΠ΄ Swift.

Playground Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ бСсконСчно ΠΈ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ истСчСнии ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ 30 сСкунд). Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΊΠΎΠ΄Π°:

PlaygroundPage.current.finishExecution()

Когда ваш асинхронный ΠΊΠΎΠ΄ возвращаСтся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ рСсурса, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ строку, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ.

ИспользованиС CocoaPods с ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΎΠΉ: Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ, Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

ПослС настройки Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² своС Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ пространство ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΎΠΊ, сколько Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. И Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² свой ΠΏΠΎΠ΄Ρ„Π°ΠΉΠ» нСсколько Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΎΠΊ, Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠ΄Π°. ΠŸΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΠΈΠΉ!

.