ΠΊΠ°ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° iphone
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ A/B-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ iOS-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
A/B-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ A/B-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΡΠΎΠ², Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , ΡΠΎ Π·Π΄Π΅ΡΡ ΡΠΎΠΆΠ΅ Π΅ΡΡΡ ΠΈΠ· ΡΠ΅Π³ΠΎ Π²ΡΠ±ΡΠ°ΡΡ. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄Π»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠ΅ΠΉ. ΠΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π»Π΅ΠΆΠΈΡ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅: ΠΏΡΡΠΌΠ°Ρ Π·Π°ΠΌΠ΅Π½Π° ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ Π΅ΡΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°ΡΠΈΠΈ. ΠΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΊΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ² Π²ΡΡ-ΡΠ°ΠΊΠΈ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π°, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½ΠΈΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΡΠΊΡΠ°Π½Π° ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΠΎΡ ΡΠΊΡΠ°Π½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π»ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠ»Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠΊΡΠ°Π½, ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎ.
ΠΠ΅ΡΠ΅Π΄ Π½Π°ΠΌΠΈ ΡΡΠΎΡΠ»Π° Π·Π°Π΄Π°ΡΠ° ΡΡΠ°Π²Π½ΠΈΡΡ ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (ΡΠ΅ΠΊΡΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ), ΡΠ°ΠΊ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°Π»ΠΈΡΠΈΠ΅ Π±ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ ΠΈ ΡΠ°Π±Π±Π°ΡΠ°). ΠΠ· ΡΡΠΎΠ³ΠΎ ΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΈ ΠΏΡΠΈ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΎΡΡ-Π»ΠΈΡΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ A/B-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ ΡΠ΅ΡΡ Π΄Π°Π»ΡΡΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ SDK Π΄Π»Ρ iOS ΠΈ Android, c Windows Phone ΡΠ»ΠΎΠΆΠ½Π΅Π΅, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· HTTP-Π·Π°ΠΏΡΠΎΡΡ.
Apptimize
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ Π±Π°Π·Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ:
Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ: Google Analytics, Mixpanel, Flurry, Localytics, Omniture.
Π¦Π΅Π½Π° ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ: Π΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½Π°Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ, 300$/ΠΌΠ΅ΡΡΡ Π΄ΠΎ 100 000 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π²ΡΡΠ΅ β Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ.
Optimizely
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ c Apptimize ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠ΅. ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄, Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Optimizely ΡΡΡΡ ΠΌΠ΅Π½Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π΅Π½. Optimizely Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ Fabric, Π½ΠΎ ΡΠ΅ΡΠ²ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΡΠ΄Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ.
Π¦Π΅Π½Π° ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ: ΡΠ΅Π½Ρ Π½Π΅ ΡΠΊΠ°Π·Π°Π½Ρ, Π΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½Π°Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ.
Mixpanel
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² Mixpanel Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ²ΠΈΠΊΠ°ΠΌΠΈ (tweaks). ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²ΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ°ΠΊΡΠΎΡ MPTweakValue:
ΠΡΡΡ Π±ΠΈΠ½Π΄ΠΈΠ½Π³ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π° Π»Π΅ΡΡ:
ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΡΠΈ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (ΠΈΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ KVO Π΄Π»Ρ Π½ΠΈΡ ).
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ Π² Mixpanel Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΈΠ΅, Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠΈΠ»ΡΡΡΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Ρ ΡΡΡΡΠΎΠΉΡΡΠ².
ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π΅ΡΡΡ, Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ ΠΈ ΡΠ°ΡΡΠΎ Β«ΠΎΡΠ²Π°Π»ΠΈΠ²Π°Π΅ΡΡΡΒ».
Π¦Π΅Π½Π° ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ: ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π»ΠΈΠ±ΠΎ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠΎΠ±ΡΡΠΈΠΉ Π·Π° ΠΌΠ΅ΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, 100 000 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΎΠ±ΠΎΠΉΠ΄ΡΡΡΡ Π² 250$, ΠΈΠ»ΠΈ Π·Π° 350$ 2 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° ΡΠΎΠ±ΡΡΠΈΠΉ.
SplitForce
ΠΠ΄Π΅ΡΡ Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Ρ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ:
Π Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ±ΡΡΠΈΠΉ:
ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π½Π΅Ρ, Π°Π³ΡΠ΅Π³Π°ΡΠΈΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ ΡΠΎΠΆΠ΅. ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½Π°Ρ.
Π¦Π΅Π½Π° ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ: ΡΠ΅Π½Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΡ Ρ ΠΏΡΠΎΡΠΈΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 369$ Π·Π° 150 000 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
Amazon
ΠΠ»Π°Π²Π½ΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄ Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π³ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΡΡΡ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ A/B-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ Amazon, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Amazon Insights.
SDK ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Β«ΡΡΡΠ½ΠΎΠΉΒ» ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ A/B ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
ΠΠ° ΠΌΠΎΠΉ ΡΠΊΡΠΎΠΌΠ½ΡΠΉ Π²Π·Π³Π»ΡΠ΄, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ»Π΅Π³ΠΊΠ° ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΉ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ, ΡΡΠΎ ΠΈ ΠΊ Π»ΡΡΡΠ΅ΠΌΡ.
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ iOS-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Π’Π΅ΡΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ ΡΠ΅ΡΠΈΠ» Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ. ΠΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ»ΡΠ·Ρ ΠΈ ΠΈΠΌΠ΅Π΅Ρ Π²Π΅ΡΡΠΌΠ° ΡΠΊΡΠ΄Π½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π», Π½ΠΎ Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄ Π΅Π³ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π΄Π°ΡΡ ΡΡΠ°ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ².
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Ρ Π²ΡΠ»ΠΎΠΆΠΈΠ» Π³ΠΎΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π³ΠΈΡΡ Π°Π±.
ΠΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ
ΠΠ»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ
ΡΠ΅ΡΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ β Cedar.
ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΡΡΡ Π² ΡΡΠΈΠ»Π΅ RSpec, ΡΡΠΎ ΡΠ»ΡΡΡΠ°Π΅Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ ΠΈ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ΄Π°.
ΠΠ° Π³ΠΈΡΡ Π°Π±Π΅ Π΄Π°Π½ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ±ΡΠ°ΡΡ ΡΡΡΠΉΠΌΠ²ΠΎΡΠΊ, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π²ΡΡΠ°Π» Π²ΠΎΠΏΡΠΎΡ ΡΠ±ΠΎΡΠΊΠΈ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ , Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΊΡΠΈΠΏΡ Π½Π° bash’Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ» Π²ΡΡ ΡΡΡ ΡΡΡΠΈΠ½Ρ.
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ install.sh, Cedar Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² /opt/cedar ΠΈ Π±ΡΠ΄ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π² Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΡ).
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ΅ΡΡ.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π² UnitTests target ΡΠ°ΠΉΠ» FooBar.mm Ρ ΡΠ°ΠΊΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ΠΌ:
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ°ΡΠ³Π΅Ρ Π΄Π»Ρ ΡΠ΅ΡΡΠΎΠ², Π΅ΡΠ»ΠΈ Π²ΡΠ΅ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ Π²Π΅ΡΠ½ΠΎ, ΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡΡ ΡΠΈΠΌΡΠ»ΡΡΠΎΡ Ρ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ, Π² ΡΡΠ΅ΠΉΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ Π²Π°ΡΠΈ ΡΠ΅ΡΡΡ.
ΠΠ΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΡ. ΠΠΎΠΏΡΡΡΠΈΠΌ Ρ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΊΠ»Π°ΡΡ-ΡΠΈΠ½Π³Π»ΡΠΎΠ½, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌΠΈ, Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ CalculationManager. Π£ Π½Π΅Π³ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΠ½ΡΡΠ°Π½Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ sharedInstance.
ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΡΠ΅ΡΡ Π½Π° ΡΡΠΎΡ ΠΊΠ΅ΠΉΡ.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΡΡΠΎΠΉ ΠΊΠ»Π°ΡΡ CalculationManager Π² Π²Π°ΡΠ΅ΠΌ Π³Π»Π°Π²Π½ΠΎΠΌ target’Π΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΠ΅ΡΡΠΎΠ² (ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ CalculationManager.mm) Ρ ΡΠ°ΠΊΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ:
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π²ΠΈΠ΄Π½ΠΎ ΡΡΠΎ ΡΠ΅ΡΡ Π²Π°Π»ΠΈΡΡΡ.
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠ± ΡΠ΅ΡΡ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΠ» ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ.
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ°ΡΡ ΡΠ΅ΡΡΠΎΠ² Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ.
ΠΠ° ΡΡΠΎΠΌ Π²ΡΠ΅, Π±ΡΠ΄Π΅ΠΌ ΡΡΠΈΡΠ°ΡΡ ΡΡΠΎ ΠΏΡΠΈΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠΊΡΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΡΠ°ΠΌΠΈ, ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΌΠ°Π»ΠΎ ΡΡΠ΅Π΄ΡΡΠ² Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΉΠ΅ΡΠ° iOS ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ Ρ Ρ ΠΎΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΡΠ΅Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΡΠ°ΠΌ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Calabash-iOS ΠΈ Frank.
ΠΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ
ΠΎΠΆΠΈ, ΠΎΠ½ΠΈ ΠΎΠ±Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΡΡΡ Π½Π° Cucumber’Π΅ ΠΈ ΠΎΠ±Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π½Π° Ruby, ΡΠ°Π·Π½ΠΈΡΠ° Π»ΠΈΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π΅.
Π ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΌΠ½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΌΠΈΠ³ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ Frank’Π°, Ρ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΠ» ΡΠ΅ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Calabash’Π° ΠΈ Π²ΡΠ΅ ΠΎΠ½ΠΈ ΠΏΡΠΎΡΠ»ΠΈ ΠΏΠΎΡΡΠΈ ΡΡΠ°Π·Ρ, ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ°ΡΡ ΡΠ°Π³ΠΎΠ².
Π‘Π΅ΠΉΡΠ°Ρ Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ Π½Π° Calabash. ΠΡΠΌΠ°Ρ ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ iOS ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Cucumber, ΠΏΠΎΡΠΎΠΌΡ ΠΈ Ρ ΠΎΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΡΡΡ.
Cucumber
Π― Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΡ Π½Π° Π²Π΅ΡΠ½ΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ, ΠΏΡΠΎΡΡΠΎ ΠΎΠΏΠΈΡΡ ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ, ΠΈ Π½Π°Π΄Π΅ΡΡΡ ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡΠ°Π½ΡΡΡ ΡΠ΅ΠΌ ΠΊΡΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ΡΠΈΠ»ΡΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
ΠΡΠ°ΠΊ, Π² Cucumber’Π΅ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π³Π»Π°Π²Π½ΡΡ Β«ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉΒ»:
Feature β ΡΡΠΎ Π½Π°Π±ΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΏΠΎ Π»ΠΎΠ³ΠΈΠΊΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² (ΠΈΠ»ΠΈ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ , ΡΠΆ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΡΠ΅ΡΠΈΡ). ΠΠ½Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈ ΠΊΡΠ°ΡΠΊΠΎΠ³ΠΎ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ:
Scenario β ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ use case. Π‘ΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΠΈ Π½Π°Π±ΠΎΡΠ° ΡΠ°Π³ΠΎΠ².
Step β ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (Π½Π°ΠΆΠ°ΡΠΈΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ/ΡΡΡΠ»ΠΊΡ, Π²Π²ΠΎΠ΄ ΡΠ΅ΠΊΡΡΠ°, ΡΠ²Π°ΠΉΠΏ ΠΈ.Ρ.ΠΏ).
Step definition β ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΠ½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
ΠΡΠΈ ΠΏΡΠΎΠ³ΠΎΠ½Π΅ ΡΠ΅ΡΡΠΎΠ² Cucumber Π±Π΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³ ΠΈ ΠΈΡΠ΅Ρ Π½ΡΠΆΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠΎΠ³ΠΎΠ½ΡΠ΅Ρ ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π±Π΅ΡΠ΅ΡΡΡ Π·Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π³. ΠΠ΅ ΡΠ²Π΅ΡΠ΅Π½ ΡΡΠΎ ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ°ΠΊ, Π½ΠΎ Π½Π°Π΄Π΅ΡΡΡ ΡΡΡΡ ΡΡΠ½Π°.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Calabash Π² Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π΄Π΅ΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Calabash Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΡΠ³Π΅Ρ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π±Π»ΠΎΠ½ project_name-cal. ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ build Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΏΠΎΡΡΠΈ Π³ΠΎΡΠΎΠ²Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΡΡ.
ΠΠΎΡΠ»Π΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΡΡ
Π½ΠΎ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠ΅ Π²Π°Π»ΠΈΡΡΡ, Ρ.ΠΊ. calabash Π½Π΅ Π·Π½Π°Π΅Ρ Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ β APP_BUNDLE_PATH. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Xcode 4.x Ρ ΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΎΠΉΡΠΈ Ρ ΠΎΡΠΎΡΠΎ.
Guard
Π’Π°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π΅Π½, Π½ΠΎ ΠΎΠ½ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠΏΡΠ°Π²Π΄Π°Π½, Ρ.ΠΊ. calabash Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π½Π°ΡΡ Π³Π΄Π΅ Π»Π΅ΠΆΠΈΡ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π ΡΡΡ Π½Π°ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡ Guard.
Guard β ΡΡΠΎ Π³Π΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΠΈΡ Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², Π·Π° ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½ ΡΠ»Π΅Π΄ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. Π‘ΠΏΠΈΡΠΎΠΊ guard’ΠΎΠ² Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΎΠ±ΡΠΈΡΠ½ΡΠΉ, Π½ΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ guard-calabash-ios.
ΠΠ»Ρ Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Guardfile β ΡΠ°ΠΉΠ» Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠΏΠΈΡΠ°Π½Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ guard’Ρ ΠΈ ΡΠ°ΠΉΠ»Ρ Π·Π° ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡΡ. (ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° Π³ΠΈΡΡ
Π°Π±Π΅.)
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΡΡΠΈΡ
β ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Xcode ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Derived Data ΠΊΠ°ΠΊ Relative. Π’Π΅ΠΏΠ΅ΡΡ Xcode Π±ΡΠ΄Π΅Ρ Ρ
ΡΠ°Π½ΠΈΡΡ ΡΠ±ΠΎΡΠΊΠΈ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠΊΡΠΈΠΏΡΡ ΠΈΠ· guard-calabash-ios Π½Π°ΠΉΡΠΈ Π½ΡΠΆΠ½ΡΠΉ Π½Π°ΠΌ APP_BUNDLE_PATH Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΠΎΠ½Π° ΡΠ΅ΡΡΠΎΠ² Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅.
ΠΠΈΡΠ΅ΠΌ ΡΠ΅ΡΡΡ
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π°ΡΠΈΡ UI-ΡΠ΅ΡΡΠΎΠ².
Calabash ΡΠΎΠ·Π΄Π°Π» ΠΏΠ°ΠΏΠΊΡ features, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π½Π°ΡΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π³ΠΎΠ².
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΠΌΡΡ ΡΡΠΎ Π½Π°Ρ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ»ΠΎΠΆΠΈΡΡ ΠΈΠ»ΠΈ Π²ΡΡΠ΅ΡΡΡ Π΄Π²Π° ΡΠΈΡΠ»Π°, ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²Π΅ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² alert view.
ΠΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ ΡΠ°ΠΉΠ» my_first.feature
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΡΠ΅ Π΅ΡΠ΅ Π·Π°ΠΏΡΡΠ΅Π½ guard, ΡΠΎ ΠΏΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Π° ΠΎΠ½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΡΠΈΡ ΡΠ΅ΡΡΡ, ΠΏΡΠΈΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ». ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΡΠΈΡΠ°ΠΌΠΈ, Ρ.ΠΊ. Π½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΡΠΊΠΈ ΠΆΠ΄Π°ΡΡ ΠΏΠΎΠΊΠ° ΠΏΡΠΎΠ³ΠΎΠ½ΡΡΡΡ Π²ΡΠ΅ ΡΠ΅ΡΡΡ.
ΠΡΠ°ΠΊ, Π²ΡΠ΅ ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π°Π»ΠΈΠ»ΠΈΡΡ, ΡΡΠΎ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ UI.
ΠΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Π°ΠΌ ΠΈΠ· calabash’Π° Π½ΡΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΈΠΌ accessibility label. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΏΠΎ Π½Π°Π΄ΠΏΠΈΡΠΈ Π½Π° Π½ΠΈΡ , Π° ΠΊ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌ ΠΏΠΎΠ»ΡΠΌ ΠΏΠΎ ΠΏΠ»ΡΠΉΡΡ ΠΎΠ»Π΄Π΅ΡΡ.
Π― ΡΠ΄Π΅Π»Π°Π» ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ: Π΄Π²Π° ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΠΏΠΎΠ»Ρ ΠΈ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² navigation bar’Π΅, «+» ΠΈ «-«.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π° Π½Π°Ρ ΡΠΊΡΠ°Π½ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
1. ΠΠΎΠ±Π°Π²ΠΈΡΡ outlet’Ρ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΠΏΠΎΠ»Π΅ΠΉ
2. ΠΠ°Π΄Π°ΡΡ ΠΏΠ»ΡΠΉΡΡ
ΠΎΠ»Π΄Π΅ΡΡ Π½Π°ΡΠΈΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌ ΠΏΠΎΠ»ΡΠΌ Β«leftΒ» ΠΈ Β«rightΒ»
3. ΠΠ°Π΄Π°ΡΡ accessibility label’Ρ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ
5. ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°
6. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Ρ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΌ guard’ΠΎΠΌ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Enter, ΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡ Π²ΡΠ΅ Π²Π°ΡΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, Ρ Π½Π°Ρ ΠΎΠ½ ΠΎΠ΄ΠΈΠ½ ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠ΅ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΠΎ ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΉΠ΄ΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ.
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΠ΅ΡΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ.
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° Cucumber ΡΠΎΠΎΠ±ΡΠΈΡ ΡΡΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ ΡΠ°ΠΊΠΈΡ
ΡΠ°Π³ΠΎΠ², ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ ΠΈΡ
ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ.
Π‘ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌ ΡΠΎ ΡΡΠΎ ΠΎΠ½ Π²ΡΠ²Π΅Π» Π² ΡΠ°ΠΉΠ» calabash_steps.rb (project_dir/features/steps_definitions/)
Π ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΌΡ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π±Ρ ΡΠ΅ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΡΠΎ ΠΈ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, Π½ΠΎ Π·Π΄Π΅ΡΡ Ρ Ρ ΠΎΡΠ΅Π» ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΡΡ step definitions, ΠΊΠ°ΠΊ Π²ΡΠ·ΡΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π³ΠΈ ΠΈΠ· ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π³ΠΎΠ²(step %<>), ΠΊΠ°ΠΊ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ Π΄ΠΎ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (query) ΠΈ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ assert (should).
ΠΠ° ΡΡΠΎΠΌ ΠΏΠΎ ΡΠ΅ΡΡΠ°ΠΌ Π²ΡΠ΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ΅ΡΡΡ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅Π»Π΅ΠΏΠΎ, Π½ΠΎ Ρ ΡΡΠ°Π²ΠΈΠ» ΡΠ²ΠΎΠ΅ΠΉ ΡΠ΅Π»ΡΡ ΠΎΠΏΠΈΡΠ°ΡΡ Π½Π° ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΡΠ°Π·Ρ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ TDD/BDD, Π½Π°Π΄Π΅ΡΡΡ ΡΡΠΎ ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ Π²ΡΡΠ»ΠΎ ΠΈ Π΄Π»Ρ ΡΡΠ°ΡΡΡ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ.
Π‘ΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ iOS-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Π‘ ΡΠ΅Π³ΠΎ Π²ΡΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ iOS-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ΡΡΠ΅ΡΡ, ΡΡΠΎΠ±Ρ Π½Π°Π»Π°Π΄ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠ°Π½Π°Π» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΡΠ΅ΡΠΎΠ² Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΡΡΠ°Π²ΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΠ΅ΡΠ°ΠΌ
Π’Π΅ΡΡΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΠΠ°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π° Π΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π΄Π΅Π»Π°Π΅ΡΠ΅ Π²ΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΡ ΡΠ°ΠΌΠΈ: Π² Π»ΡΡΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΡ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ±ΠΎΡΠΊΡ c AdHoc-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ, ΡΠ΅ΡΡΠ΅Ρ Π² ΡΠ°Ρ X ΡΠΊΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠ±ΠΎΡΠΊΡ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π΅Π΅ Π½Π° ΡΠ²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΠ²ΠΎ ΠΏΡΡΠ΅ΠΌ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· iTunes ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Configuration Utility. Π Ρ ΡΠ΄ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΡ ΡΠ°ΠΌΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΡΠ±ΠΎΡΠΊΡ ΠΏΠΈΡΡΠΌΠΎΠΌ ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠΆΠ°Ρ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΡΡΡ.
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π’Π΅ΡΡΠ΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΡΠ»ΠΎΠΆΠΈΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ Π·Π°Π²Π΅ΡΡΠΈ ΠΏΠ°ΡΡ Π±Π°Π³ΠΎΠ² Π² Π±Π°Π³-ΡΡΠ΅ΠΊΠΊΠ΅ΡΠ΅ ΠΈ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ»Π΅ΡΠ΅Π»ΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΡ ΠΏΠ°ΡΠΎΡΠΊΡ crash-ΡΠ°ΠΉΠ»ΠΎΠ². Π’Π΅ΡΡΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΠΎΠ΄ΠΈΠ½, ΠΈ ΡΠΎΠ³Π΄Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π·Π°Π΄Π°Ρ Π² ΡΡΠ΅ΠΊΠΊΠ΅ΡΠ΅ Π²ΠΎΠ·ΡΠ°ΡΡΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΡΠ΅ΡΡ Π½ΠΈΠΊΠ°ΠΊ Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ. Π ΡΠ°ΠΊΠΎΠ΅ Π±ΡΠ²Π°Π΅Ρ.
ΠΠΎΡΠ°Π±ΠΎΡΠΊΠ°
ΠΡΠΎΡΠΈΡΠ°Π² Π²ΡΠ΅, ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π² Π±Π°Π³-ΡΡΠ΅ΠΊΠΊΠ΅ΡΠ΅, ΠΡ ΠΏΡΠΈΡΡΡΠΏΠ°Π΅ΡΠ΅ ΠΊ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π²Ρ Π²ΡΠ΅ Π½Π΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡΠ΅.
ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°
ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ β ΡΡΠΎ Π²ΡΠ΅ ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π°ΡΠΈΠΌ ΡΠΈΠ½Π°Π»ΡΠ½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π΄ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠ΅ΡΡΠ΅ΡΠ°. Π ΡΡΠ½ΡΠ΅ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΡΠ΅ΡΠ°ΠΌΠΈ ΡΠ±ΠΎΡΠΎΠΊ, ΡΠΈΠ½Ρ ΡΠ°Π½ΠΈΠ·Π°ΡΠΈΡ Ρ Π°ΠΉΡΡΠ½ΡΠΎΠΌ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅ΡΠ΅Π· Configuration Utility, β Π²ΡΠ΅ ΡΡΠΎ ΡΡΡΠΈΠ½Π°, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠ±ΡΠ°ΡΡ.
ΠΠ° ΡΠ°Π³Π΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ. Π’Π΅ΡΡΠ΅Ρ ΡΡΠ°ΡΠΈΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ Π² ΡΡΠ΅ΠΊΠΊΠ΅ΡΠ΅, ΠΏΡΠΈΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΡ ΠΊ Π½Π΅ΠΉ ΠΊΡΠ°Ρ-Π»ΠΎΠ³Π°. ΠΡΠ°ΡΠ»ΠΎΠ³ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ·-Π·Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π² ΡΡΠ΅ΠΊΠΊΠ΅ΡΠ΅.
Π£Π²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΠ°ΡΡΡ ΠΈΠ· Π²Π°Ρ ΡΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ.
Π§ΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ?
ΠΠ° Π²ΡΠ΅ΠΌΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π½ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ ΡΠ²Π΅ΡΡΠΈ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ Π·Π°ΡΡΠ°ΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠ±ΡΠ°ΡΡ ΠΈΡ
ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ. Π§ΡΠΎ Π΅ΡΠ»ΠΈ ΠΏΠ°ΡΠΎΠΉ ΠΊΠ»ΠΈΠΊΠΎΠ² Β«ΠΎΠΏΡΠ±ΠΈΠ»ΠΊΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΠ΅ΡΠ°ΠΌΒ» ΠΈ Β«ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΒ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
Π²ΡΠ΅Ρ
ΡΠ΅ΡΡΠ΅ΡΠΎΠ²?
Π’Π°ΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΅ΡΡΡ.
Π ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠ°ΠΊΠΈΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ½Π΅ΡΡΠΈ TestFlight ΠΈ HockeyApp.
ΠΠ°ΠΊ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ
Π’Π΅ΡΡΠ΅ΡΠ°ΠΌ Π² ΡΠ°Ρ X ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ ΠΏΠΈΡΡΠΌΠΎ:
ΠΠ°ΠΆΠ°Π² Π½Π° Install, ΡΠ΅ΡΡΠ΅Ρ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ.
ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΠ°Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΡΠ°Π±ΠΎΡΡ TestFlight:
ΠΡΠΎ Π²ΡΠ΅. ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ Π² ΠΌΠ΅ΡΠΎΠ΄ UIApplicationDelegate:
ΠΡΠ»ΠΈΡΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌ
ΠΠΎ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡΠΌ Π² ΡΠ΅ΡΠΈ, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, ΡΠ°ΠΌΠ°Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° β TestFlight. ΠΠΎ HockeyApp ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ΄ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΏΠ΅ΡΠ΅Π΄ TestFlight:
TestFlight ΡΠ°ΠΌΠΎΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΉ Π½ΠΈΡΠ΅. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΈΠ·-Π·Π° Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΏΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ ΡΠ΅ΡΠ²ΠΈΡ Π±ΡΠ²Π°Π΅Ρ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ Π²Π΅ΡΠ½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ³ΠΎΠ»ΠΎΡΠΎΠ²Π°Π»ΠΈ Π² ΠΏΠΎΠ»ΡΠ·Ρ HockeyApp Π½ΠΎΠ³Π°ΠΌΠΈ.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ·Π±Π°Π²ΠΈΡΡ Π²Π°Ρ ΠΎΡ ΡΡΡΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΅ΡΡ Π²ΡΠ΅ΠΌΡ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠ±ΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ Π² Π±Π°Π³-ΡΡΠ΅ΠΊΠΊΠ΅ΡΠ΅, ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π ΠΎΠ±ΡΠ΅ΠΌ, ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ Π²Π°ΡΡ ΠΆΠΈΠ·Π½Ρ.
ΠΠΏΠ΅ΡΠ²ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΠ²ΡΠΈΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, Π»ΡΠ΄ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°Π·Π²ΠΎΠ΄ΡΡ ΡΡΠΊΠ°ΠΌΠΈ ΠΈ Π³ΠΎΠ²ΠΎΡΡΡ: Β«ΠΠ°Π³ΠΈΡΒ».
ΠΠ°ΠΏΡΡΠΊ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²ΠΎΠΈΡ iOS-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Π±Π΅Π· Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈ Π±Π΅Π· Jailbreak
ΠΡΠ»ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Jailbreak Π΄ΠΎ Π½Π΅Π΄ΠΎΡΠΎΠ³ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ UDID ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΊ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ Π°ΠΊΠΊΠ°ΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. (ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΡΠΎΠΈΡ 300 ΡΡΠ±). ΠΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π²ΡΡΠ΅ Ρ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ XCode 7 ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ»Π° ΡΠ΅ΡΠ΅Π½Π°.
Π’Π°ΠΊ ΡΡΠΎ ΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ²ΠΎΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅?
ΠΡΠ΅ ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎ Apple ID! ΠΠΎΠ»ΡΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ iPhone, Ipod Touch, ΠΈΠ»ΠΈ IPad ΠΊ Π²Π°ΡΠ΅ΠΌΡ Mac Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ°Π±Π΅Π»Ρ USB ΠΊΠ°Π±Π΅Π»Ρ. Π ΠΌΠ΅Π½Ρ Xcode Π·Π°ΠΉΠ΄ΠΈΡΠ΅ Window β Devices, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΡΠΎΠΉΡΡΠ². ΠΠΊΠ½ΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ (Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ iPad Air):
Π Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΎΠΊΠ½Π° Xcode Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ Π΅Π³ΠΎ. ΠΡΠ»ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Xcode, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅, Β«βiPad is not paired with your computer.Β«
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ²ΡΠ·Π°ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Ρ Xcode Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ (Slide to unlock). ΠΠΎΡΠ»Π΅ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, Π½Π° ΡΠΊΡΠ°Π½Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΎΡΡΠ±ΠΎΠΉ Π΄ΠΎΠ²Π΅ΡΡΡΡ ΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Β«Π Π°Π·ΡΠ΅ΡΠΈΡΡΒ» ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ. Π’Π΅ΠΏΠ΅ΡΡ Xcode Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°ΠΏΠΈΡΠ΅Ρ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°ΠΉΡΠ΅ Π΅ΠΌΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ β Π΅ΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ ΡΠ½ΠΎΠ²Π°. ΠΡΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ, ΡΡΠΎ Π²ΡΡΠΊΠΎΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅: Β«An error was encountered while enabling development on this device.Β» ΠΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° Π΅Π³ΠΎ. Π’Π°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Xcode, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²Ρ ΡΠ½ΠΎΠ²Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ.
Π’Π°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΎΠΊΠ½ΠΎ Ρ ΡΠΎΠΏΡΡΠΆΠ΅Π½Π½ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ:
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° AppleID
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠΎΠΏΡΡΠΆΠ΅Π½ΠΎ Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ, Π½ΡΠΆΠ½ΠΎ ΡΠ²ΡΠ·Π°ΡΡ Π²Π°Ρ AppleID Ρ Xcode. ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡ ΠΆΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ AppleID, ΡΡΠΎ Π²Ρ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Ρ Itunes ΠΈ Π²Π°ΡΠΈΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ΅ iOS ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ AppleID, ΡΡΠΎΠ±Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΎΠΏΠ»Π°ΡΠ΅Π½Π½ΡΠΉ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β«+Β» Π²Π½ΠΈΠ·Ρ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«Add Apple IDΒ«. Xcode ΠΏΠΎΠΏΡΠΎΡΠΈΡ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ ΠΎΡ AppleID. ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΡ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«AddΒ«. Xcode ΠΏΡΠΎΠ²Π΅ΡΠΈΡ Π²Π°ΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΈΡ ΠΊ ΡΠΏΠΈΡΠΊΡ Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠ².
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Xcode Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π°Ρ Apple ID ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π±ΡΠ» ΡΠ°Π½Π΅Π΅ Π±ΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΡΡΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΈΡΡΠ΅ΠΊ. ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Apple ID. ΠΡΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΠΈ Π·Π°ΠΉΠΌΠ΅Ρ Π²ΡΠ΅Π³ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ. https://appleid.apple.com
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° XCode
ΠΡ Π²ΡΠ΅ Π΅ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠ°Π·Π°ΡΡ Xcode ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ ΡΠΊΡΠ°Π½Ρ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ General Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° Team, ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ Π²Π°Ρ Apple ID.
ΠΠΈΠΆΠ΅ ΠΏΠΎΠ»Ρ Π²ΡΠ±ΠΎΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Β«No code signing identities foundΒ» ΠΈΠ»ΠΈ Β«No matching provisioning profiles foundΒ«. ΠΠ΅ Π»ΠΈΡΠ½ΠΈΠΌ Π±ΡΠ΄Π΅Ρ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΡΡΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Xcode ΠΌΠΎΠ³ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π²Π°ΡΠ΅ΠΌ iPhone, iPad ΠΈΠ»ΠΈ iPod, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΎ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΡΡ Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ (Development Certificate). Π‘Π΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ Π²Π°Ρ ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° iOS ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² App Store Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ Β«Distribution CertificatΒ». ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Distribution Certificat Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΏΠ»Π°ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (Development Certificate) ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΌ. Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ (Provisioning Profile) Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅. Xcode ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅.
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ° Π΄Π°Π½Π½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ°ΠΏΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΎΡΡΠΎ ΠΏΡΠΈΠΌΠΈΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ Provisioning Profile ΠΈΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΈ Provisioning Profile, Π² XCode 7 ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ°Ρ Π·Π°Π΄Π°ΡΠ°!
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Fix Issue. ΠΡΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°ΡΡ ΠΏΠΎΠΊΠ° Xcode Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Ρ Π²Π°ΡΠ΅ΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ, ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Provisioning Profile Π½Π° Π²Π°ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. Π Π°Π½ΡΡΠ΅ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ»ΠΈ Π±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π²ΡΠ΅ Π²ΡΡΡΠ½ΡΡ, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Xcode 7 Π±Π΅ΡΠ΅Ρ Π²ΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π° ΡΠ΅Π±Ρ. Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅:
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠ° Bundle Identifier β ΡΡΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ. ΠΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠ΅ Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΡΠΎ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ 100% ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ Π΄Π»Ρ Bundle ID, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ru.proswift.TestApp. ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π»Π΅Π³ΠΊΠΎ: ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Bundle Identifier ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΡ.
Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ:
Xcode Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ ΠΎΠ± ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΡΠ΅ ΡΠ°Π· ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ Π²Π°Ρ iPhone ΠΈΠ»ΠΈ iPad ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ Mac, ΠΈ ΡΡΠΎ Π²Π°ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΅ΡΡΡ ΡΠΏΠΈΡΠΊΠ΅ Devices. Π£ ΠΌΠ΅Π½Ρ ΡΡΠΎ ΠΎΠΊΠ½ΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ XCode Π΅ΡΠ΅ ΡΠ°Π· Π²ΡΠ±Π΅ΡΠ΅ΡΠ΅ Π²Π°ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Fix Issue ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΡΡΠ΅Π·Π½ΡΡΡ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ²ΡΠ·ΠΊΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ
ΠΡΠ΅ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ ΠΈ Π³ΠΎΡΠΎΠ²ΠΎ ΠΊ ΡΠ°Π±ΠΎΡΠ΅. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Run, ΡΡΠΎΠ±Ρ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ Ρ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ Β«codesign wants to sign using key β¦ in your keychainΒ». ΠΡΠ»ΠΈ Π²ΡΡΠ»ΠΎ ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π½Π°ΠΆΠΌΠΈΡΠ΅ Always Allow β Ρ.Π΅. ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ Π²ΡΠ΅Π³Π΄Π°. ΠΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Xcode ΠΏΡΡΠ°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π»ΠΈ, Π½ΠΎ ΠΏΡΠΎΡΠΈΡ Π΄Π°ΡΡ Π΅ΠΌΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ.
ΠΠ°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Π±Π΅Π· Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈ Π±Π΅Π· Jailbreak? ΠΠΎΡΡΡΡΠ°ΡΡΠΈΠ΅! ΠΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ ΡΠΈΡΠ°ΠΉΡΠ΅ Π΄Π°Π»ΡΡΠ΅ β¦
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ²ΠΎΠ΅Π³ΠΎ iOS ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄Π΅Π»Π°Π»ΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ°Π½ΡΡΠ΅. Π’Π°ΠΊ ΡΡΠΎ Π½Π΅ ΠΏΠ°Π½ΠΈΠΊΡΠΉΡΠ΅, Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΠ΅ΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ.
Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΎ.
ΠΠ°ΠΊ Π½ΠΈ ΡΡΡΠ°Π½Π½ΠΎ ΡΡΠΎ ΡΠ°ΠΌΠ°Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π½Π°ΠΏΠΈΡΡ ΠΎ Π½Π΅ΠΉ Π² ΡΡΠ΅ΡΠΈΠΉ ΡΠ°Π· Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Π°Ρ iPhone, iPod Touch, ΠΈΠ»ΠΈ iPad ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΊ Mac. Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΏΠΈΡΠΊΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ² Xcode, ΠΈ Π½Π° Π½Π΅ΠΌ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΆΠ΅Π»ΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠΊΠ° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, ΠΎ ΡΠΎΠΌ ΡΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π΅ Π΄ΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΊΠΎΠΌΠΏΡΡΠ΅ΡΡ.
ΠΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π½Π΅ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π½ΡΠΉ Apple ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ.
Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ.
ΠΡΠ»ΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΏΠ°ΡΠΎΠ»Ρ, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅:
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΅ΡΠ»ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π΅ΡΠ΅ ΡΠ°Π·.
Π‘ Π½Π΅ΡΠ΅ΡΠΏΠ΅Π½ΠΈΠ΅ΠΌ ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈ ΠΊΡΠΈΡΠΈΠΊΡ ΡΡΠ°ΡΡΠΈ.