ã¢ãã€ã«ããã»ããµãšã¡ã¢ãªã¯é«éåããŠãããã¢ããªã±ãŒã·ã§ã³ã¯åãæ¹æ³ã§ããŒãããŠããŸãã å¡©ãšã¯äœã§ããïŒ iOSã¢ããªã±ãŒã·ã§ã³ã®èµ·åæéã®åé¡ã¯ãïŒç¹ã«Swiftã«åãæ¿ããåŸïŒè€æ°ã®éçºè
ã®é ã®äžã«ãããŸãã Mobile Yandex.Mapsã®éçºè
ã§ããNikolai Likhogrudãããé·æéã®ããŠã³ããŒãã®çç±ãšãã®åé¡ã®è§£æ±ºçãèŠã€ããããšã«ããŸããã
äžè¬çãªã¬ãŒãã䟿å©ãªããŒã«ãããã©ãŒãã³ã¹ã®åé¡ã解決ããããã®é©åãªã¢ãããŒãã
- ããªãèªèº«ãšããªãã®ä»äºã«ã€ããŠç°¡åã«æããŠãã ããã
Nikolai LikhogrudïŒ 2012幎ãç§ã¯ã¢ã¹ã¯ã¯å·ç«å€§åŠã®èšç®æ°åŠãšãµã€ãããã£ãã¯ã¹åŠéšãåæ¥ããããã«Yuri Podorozhnyã®æå°ã®äžã§Any Voidã§åãå§ããŸããã ç§ã¯ããã§ããŸããŸãªãããžã§ã¯ãã«ãã°ããåãçµã¿ãçµéšãç©ã¿ãYandexã«ç§»è¡ããåŸãMobile Yandex.Mapsã«åãæ¿ããŸããã ç§ã¯ãã®ãããžã§ã¯ãã«3幎è¿ãæºãã£ãŠãããæšå¹Žã¯ããŒã ãªãŒããŒãšããŠåããŠããŸãã
-iOSã¢ããªã±ãŒã·ã§ã³ã®èµ·åãå éããå®éšã¯ãããªãã®ä»äºã§ã©ã®ãããªåœ¹å²ãæãããŸããïŒ
Nikolay LikhogrudïŒèµ·åæéã¯ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®éèŠãªææšã®1ã€ã§ãã Yandex.Mapsã¯ããŠãŒã¶ãŒãã©ãã«ããŠã©ãã«è¡ãã®ãããã°ããç解ã§ããããã«ããå¿
èŠããããŸãã ã¢ããªã±ãŒã·ã§ã³ãé·æéèµ·åãããšã人ã
ãã€ã©ã€ã©ããããã競åä»ç€Ÿã«è¡ã£ãããæã£ãã¬ãã¥ãŒãæžãããããŸãã éçºãããŒãžã£ãŒãšããŠãç§ã¯ãã®éèŠãªææšã«çŽæ¥è²¬ä»»ãè² ã£ãŠããŸãããæè¿ã§ã¯æ¹åã«åããŠå€ãã®ä»äºãããŠããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãåäžãããããã®äžé£ã®äœæ¥å
šäœã§ãã¢ããªã±ãŒã·ã§ã³ã®èµ·åæéãççž®ããããã®èŠåŽã¯ã©ãã«ãããŸããïŒ
Nikolay LikhogrudïŒããã¯ãã¹ãŠãã¢ããªã±ãŒã·ã§ã³ãæžãããŠãããã®ïŒObjective-CãŸãã¯SwiftïŒãããã³ã©ã®ããã€ã¹ããŒã¯ã«åããããŠãããã«äŸåããŸãã Objective-Cã©ã³ã¿ã€ã ã©ã€ãã©ãªã¯ã·ã¹ãã ã«çµã¿èŸŒãŸããŠãããObjective-Cã³ãŒãã¯éçã©ã€ãã©ãªã«ã³ã³ãã€ã«ã§ãããããObjective-Cã¢ããªã±ãŒã·ã§ã³ã¯æ ¹æ¬çã«é«éã«å®è¡ãããŸãã ããã«ãããèµ·åæã«åçã©ã€ãã©ãªãããŒãããæéã®ãããæäœããªããªããŸãã Swiftã®å Žåãç¶æ³ã¯ãŸã£ããç°ãªããŸããiPhone5ã®ç©ºã®ã¢ããªã±ãŒã·ã§ã³ã§ãããããŒãã«2ç§ããããŸãã ãããã£ãŠãSwiftã®å Žåãèµ·åã®åé¡ãæåã«çºçããŸãã
- éçºè
ãæãé »ç¹ã«ãæ»æãããå
žåçãªã¬ãŒãïŒã¢ããªã±ãŒã·ã§ã³ã®èµ·åé床ã«é¢é£ããïŒã¯ãããŸããïŒ
Nikolai LikhogrudïŒäž»ãªåé¡ã®1ã€ã¯ãSwiftã§æžãããå²çè£ã®äœ¿çšã§ãã ãã®å Žåããã¹ãŠã®CocoaPodsã¿ãŒã²ããã¯åå¥ã®åçã©ã€ãã©ãªã«åéãããŸãã ã¡ã€ã³ã¿ãŒã²ããã®ãããžã§ã¯ãã«ã³ãŒããã»ãšãã©ãªãå Žåã§ããSwiftãããã¯èµ·åæéãæ°åã«å¢ããããšãã§ããŸã
- äœããã®åœ¢ã§ãããã«å¯ŸåŠããããšã¯å¯èœã§ããïŒæãããªè§£æ±ºçã«å ããŠ-Swiftã§CocoaPodsã䜿çšããªãã§ãã ããïŒïŒ
Nikolai LikhogrudïŒã¯ãã äžæ¹ã§ã¯ãCocoaPodsã䜿çšããŠäŸåé¢ä¿ããã«ã¢ããããæ¹æ³ããããŸãããä»æ¹ã§ã¯ãäŸåé¢ä¿ãåå¥ã®åçã©ã€ãã©ãªã«ã³ã³ãã€ã«ããæ¹æ³ã¯ãããŸããã
- ãããã®ãã¬ãŒããã¯ãiOSïŒSwiftïŒã®ãã¹ãŠã®ããŒãžã§ã³ã«é¢é£ããŠããŸããïŒ ãŸãã¯ãåããŒãžã§ã³ã«ç¬èªã®èœãšãç©Žã®ã玳士ã®ã»ãããããããŸããïŒ
Nikolay LikhogrudïŒçŸæç¹ã§ã¯ãããã¯Swiftã®ãã¹ãŠã®ããŒãžã§ã³ãšãå€ããã®ãšæ°ãããã®ã®äž¡æ¹ã®ãã¹ãŠã®iOSã«åœãŠã¯ãŸããŸãã ç¹ã«32ãããããã€ã¹ã§ã¯ãã«ã¹ã¿ã ãã€ãããã¯ã©ã€ãã©ãªã®ããŒãã«æéãããããŸãã Appleéçºè
ã¯ç¶æ³ãæ¹åããããšããŠããŸãã ããšãã°ãiOS 9.3ã§ã¯ãåçã©ã€ãã©ãªã®çœ²åæ€èšŒæéã¯ççž®ãããŸããããç¶æ³ã¯æ ¹æ¬çã«å€ãããŸããã§ããã
- ããªãã®æèŠã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã®èµ·åæéãæé©åããæ¹åã§äœæ¥ãéå§ããå¿
èŠãããã®ã¯äœã§ããïŒ
Nikolay LikhogrudïŒæåã®ã¹ãããã¯ãDYLD_PRINT_STATISTICSç°å¢å€æ°ããªã³ã«ããŠãããªã¡ã€ã³ãšã¢ãã¿ãŒã¡ã€ã³ã«è²»ããããæéã確èªããããšã§ãã ã·ã¹ãã ãšã¢ããªã±ãŒã·ã§ã³ã責任ãæã€èµ·åéšåã«ã ããã«ãããåé¡ãæ£ç¢ºã«ã©ãã«ããããæããã«ãªããŸã-ã³ãŒãå
ããŸãã¯ã¡ã¢ãªå
ã®ã¢ããªã±ãŒã·ã§ã³ã®ã€ã¡ãŒãžãåéããã·ã¹ãã ããŒããŒã®åäœå
ã ãããªãã¢ã¯ã·ã§ã³ã¯ã枬å®çµæã«äŸåããŸãã ã·ã¹ãã ã®ããŒãæéãççž®ããæ¹æ³ããããã³ãŒãã¯éåžžã©ããæé©åãããŸã-ãããã¡ã€ã©ãŒã¯ããã§éåžžã«åœ¹ç«ã¡ãŸãã
-Mobius 2017ã«é¢ããã¬ããŒãã®äžéšãšããŠãSwiftã§ã¢ããªã±ãŒã·ã§ã³ãããŠã³ããŒãããéã®ã·ã¹ãã ã®éšåã«ã€ããŠè©³ããã話ãããŸããïŒ
Nikolai LikhogrudïŒã¯ãã Swiftã«ã¢ããªã±ãŒã·ã§ã³ãããã®ã§ãäž»ãªåé¡ã¯ã·ã¹ãã éšåã«ãããŸããã ããªã¡ã€ã³ãšã¢ãã¿ãŒã¡ã€ã³ã®æž¬å®æ¹æ³ãã³ãŒã«ãã¹ã¿ãŒããšãŠã©ãŒã ã¹ã¿ãŒããããªã¡ã€ã³æéã®æé©åæ¹æ³ã«ã€ããŠè©³ãã説æããŸãã ãŸããèªåã®ã³ãŒãã®æé©åã«ã€ããŠãå°ã觊ããŸãããã®ãããžã§ã¯ãã§ã¯ã倧å¹
ãªå¢å ããããããããã€ãã®ç°¡åãªç¹ããããŸããã ããããããã®çµéšã¯èª°ãã«åœ¹ç«ã€ã§ãããã ããããäžè¬çã«ãã¡ã€ã³åŸã®æé©åã¯iOSã¢ããªã±ãŒã·ã§ã³ãæé©åããããäžè¬çãªã¿ã¹ã¯ã§ãããã®ãããããã§ã¯è©³ãã説æããŸããã åã¢ããªã±ãŒã·ã§ã³ã«ã¯åºæã®åé¡ããããŸããã·ã¹ãã éšåãšã¯ç°ãªããæé©åã¯ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã§åãã§ãã
- ã¢ããªã±ãŒã·ã§ã³ã®èµ·åãå éããããã«äœ¿çšããããã®åªå
ããŒã«ã¯ãããŸããïŒ
Nikolai LikhogrudïŒã¡ã€ã³ããŒã«ã¯DYLD_PRINT_STATISTICSå€æ°ã§ãã·ã¹ãã ããŒããŒã®åäœã«é¢ããçµ±èšæ
å ±ã衚瀺ããŸãã DYLD_PRINT_LIBRARIESå€æ°ã䜿çšããŠãããŒãå¯èœãªåçã©ã€ãã©ãªã衚瀺ããããšãã§ããŸãã ããäžçŽã®ãŠãŒã¶ãŒã«ã¯ãåã
ã®ã©ã€ãã©ãªãã·ã³ãã«ããŒãã«ããªããŒã¹ãšãã€ã³ããããŒãæã«å®è¡ãããéã®äŸåé¢ä¿ãç£èŠã§ããã³ã³ãœãŒã«ãŠãŒãã£ãªãã£ããããŸãã ãã ãããããã®ãã©ã¡ãŒã¿ã¯ãç¹ã«ãµãŒãããŒãã£ã©ã€ãã©ãªã®å Žåãæåã§åœ±é¿ãäžããããšã¯å°é£ã§ãã
-iOSã®ã¢ããããŒãã ãã§ãèµ·åæéã«é¢ãããã¹ãŠã®åé¡ãïŒè¿œå ã®æé©åãªãã§ïŒè§£æ±ºã§ããŸããïŒ
Nikolai LikhogrudïŒåé¡ã¯ãSwiftããŸã ããªãè¥ããiOSã«é¢ä¿ãªã掻çºã«éçºãç¶ããŠããããšã§ãã ãããã£ãŠã䜿çšãããSwiftæšæºã©ã€ãã©ãªã¯ãã¹ãŠã®Swiftã¢ããªã±ãŒã·ã§ã³ã«åã蟌ãŸããŠãããããSwiftã®éçãªã³ã¯ã¯ãããŸããã ããããããæç¹ã§ãSwiftã¯å®å®ãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®äžéšãšãªããéåžžã®ãªã³ã¯ãäœæããŸãã ãããŠãSwiftã§ã®ãããžã§ã¯ãã®é
ãèµ·åã«äŒŽããã®åé¡ã¯ãã¹ãŠå®å
šã«è§£æ¶ãããObjective-Cã®ããã«ãã¡ã€ã³åŸã®æé©åãåé¢ã«åºãŠããŸãã ããã¯ææ¥ã§ã¯ãªããè¿ãå°æ¥ã§ãã
- åé¡ãå®éã«Swiftã®æªçã§ããå Žåãä»ãã䜿çšããå¿
èŠãæ¬åœã«ããã®ã§ããïŒ Objective-Cã§æžãç¶ããããšã¯ã§ããŸãããïŒ
Nikolai LikhogrudïŒ Swiftã¯Appleèªèº«ã«ãã£ãŠæšé²ãããŠããããã®èåŸã«ã¯iOSã®éçºã®æªæ¥ããããŸãã çŸåšãObjective-Cã§ã®å®è£
ã®éçºãäžæ¢ãããã¬ãŒã ã¯ãŒã¯ããããŸãã ãããã«ãããObjective-Cã¯åŸã
ã«å€é¢šãªãã®ã«ãªãã€ã€ãããŸãã Swiftã§ã®æžã蟌ã¿ã¯æ¬åœã«ã¯ãŒã«ã§ãå¿«é©ã§ã¢ãã³ã§ãã Objective-Cã䜿çšãããšãããæç¹ã§ååãªObjective-CãåŸãããªããšããçµè«ã«éããŸããã»ãšãã©ã®æ°äººãSwiftãåŠç¿ããŠãããããææ°ã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããããã®è¿
éãªçžäºéçšæ§ããæ°ããéçºè
ã®æ¡çšã§åé¡ãçºçããŸãã ãã¡ãããçŸæç¹ã§ã¯ãç¹å®ã®ã³ã³ãã€ã©ãŒã®å質ã®åé¡ãXcodeã®ãã¬ãŒããããã³èµ·åæéã«å¯ŸåŠããå¿
èŠããããŸãã ããããSwiftãéçºãå®äºãããšããããã¯è§£æ±ºãããŸãã
-iOSã®çŸåšã®ããŒãžã§ã³ã®ã¢ããªã±ãŒã·ã§ã³ã®èµ·åæéã«é¢ããåé¡ã解決ãããšããŸãã iOSã®æŽæ°ã«ãããéæãããçµæãæ¶ããããšã¯ãããŸããïŒ
Nikolay LikhogrudïŒ iOS SDKã«å€æŽãå ãããããŠãŒã¶ãŒã®èªã¿èŸŒã¿æéãé·ããªãå¯èœæ§ããããŸãããã¡ã€ã³ã·ã¹ãã åã®æŽæ°ãæªåããããšã¯ã»ãšãã©ãããŸããã 確ãã«ãæ°ããiOSãå€ãããã€ã¹ã§æ¬¡ç¬¬ã«æ©èœããªããªããã³ã«ãiPhone 5ã¯ææ°ã®iOS 10ããã客芳çã«ãã€ãã£ãiOS 6ã§æ©èœããŸãããããããããã¯ããã«ããããšã³ãããã€ã¹ã«åœ±é¿ããŸããã
-Swiftã§ã®ã¢ããªã±ãŒã·ã§ã³ã®èµ·åãå éããåé¡ã«é¢ããæ
å ±æºãã¢ããã€ã¹ããŸããïŒ
Nikolai LikhogrudïŒ WWDC 2016ã¬ããŒããã¢ããªã®èµ·åæéã®æé©åãã¯å¿
é ã§ãã ããã«å
ç«ã¡ãAppleéçºè
ã¯äºå®äžãã®åé¡ã«èšåããŠããŸããã§ãããWWDC2016ã§ã¯ãèµ·åæéã«å¥ã®ã»ãã·ã§ã³ãèšããããŒãããŒããŒã®è©³çŽ°ãšæé©åã®å¯èœãªãœãŒã¹ãæããã«ããŸããã Habréã®Mail.Ruã«ããèµ·åæéã®æé©åã«é¢ããè¯ãå ±åããŸã ãããŸãããå®ã¯ãObjective-Cã®ã¢ããªã±ãŒã·ã§ã³ã«é¢ãããã®ã§ãã ãããããããã¡ã€ã©ãŒã®äœ¿çšãã¡ã€ã³åŸã®æé©åãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã«å€ãã®æéãè²»ããããŸããã
äžèšã®ããã«ãã¹ãã·ã£ãªã¹ãã¯ãMobius 2017ã®ã¬ããŒãã®äžéšãšããŠãSwiftã§ã®iOSã¢ããªã±ãŒã·ã§ã³ã®èµ·åæéã®æé©åã«é¢ãããã詳现ãªæšå¥šäºé
ãæäŸããŸãã
ãŸããã«ã³ãã¡ã¬ã³ã¹ã§ã¯ãiOSã®ããã©ãŒãã³ã¹ã®æé©åã«é¢ããä»ã®ã¬ããŒãããããŸãã
- ç¥ç§çãªã¹ãŠã£ããããã©ãŒãã³ã¹ ã Marcin Krzy MaranowskiãPSPDFKit GmbH;
-iOSã§60 fpsã®UI ã ã»ã«ã²ã€ã»ãããã³ã空æ°äžã®ã¢ããªã