-ã¿ãªãããããã«ã¡ã¯ãç§ã®ååã¯ããŒãã³ã»ãŽã©ã«ã³ãã§ãã仿¥ã¯ãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã«ãŠãŒã¶ãŒãšã®éä¿¡ãæããæ¹æ³ã«ã€ããŠèª¬æããŸãã
å§ããåã«ãç§ã«ã€ããŠç°¡åã«èª¬æããŸãã iOSã®éçºåã¯ãéè¡éšéã®çµ±åã·ã¹ãã ã®éçºãšç³æ²¹éšéã®åæã·ã¹ãã ã®éçºã«æºãã£ãŠããŸããã PCI DSSèŠæ Œãšã¯äœããããšãã°ã枩床ããŒã¿ã®ã¿ã«åºã¥ããŠããšã³ãžãã¢ãæåäžã«äºæžã§äœãèµ·ãã£ãŠããããã©ã®ããã«çè§£ããããçŽæ¥ç¥ã£ãŠããŸãã
2016幎ããiOSéçºãè¡ã£ãŠããŸããç§ã¯ããªãŒã©ã³ã¹ãšãªã¢ãŒãã¯ãŒã¯ã®äž¡æ¹ã®çµéšããããããã€ãã®ã¹ã¿ãŒãã¢ããã®ç«ã¡äžãã«åå ããçµéšããããŸãã RollsRoyceã®ãã©ã³ãã¢ããªã±ãŒã·ã§ã³ãäœæããŸããã
2018幎ãç§ã¯PrismaããŒã ã«åå ããPrismaã¢ããªãéçºããLensa PhotoEditorã®éçºãšç«ã¡äžãã«åå ããŸããã 2019幎ãç§ã¯iOSéçºè ãšããŠYandexã«ç§»ããŸããã 2020幎以æ¥ãç§ã¯Yandex.Translatorã¢ãã€ã«éçºã°ã«ãŒããçããŠããŸãã Translatorã¢ããªã¯ãããã¹ããæäœããããã®åãªãã¢ããªã±ãŒã·ã§ã³ã§ã¯ãªããªããŸãããåçã®ç¿»èš³ããã€ã¢ãã°ã¢ãŒããé³å£°å ¥åãé³å£°æäœãªã©ããã°ãããæ©èœããããããããŸãã
iOSã§ãµãŠã³ããæäœãããšãããããã¯ã«é£ã³èŸŒã¿å§ããã°ããã§ããããªãŒãã£ãªã»ãã·ã§ã³ãåæãé³å£°èªèã®æäœãå«ãã³ã³ãã¯ããªè³æã¯èŠã€ãããŸããã§ãããã ããç§ã¯ãã®è©±ãããããšã«ããŸããã
ããã¯4ã€ã®éšåã«ãªããŸããæåã«ããªãŒãã£ãªã»ãã·ã§ã³ãšã¯äœãããªãŒãã£ãªã»ãã·ã§ã³ãæ£ããæäœããæ¹æ³ãã¢ããªã±ãŒã·ã§ã³ã®åäœã«ã©ã®ããã«åœ±é¿ãããã«ã€ããŠèª¬æããŸããæ¬¡ã«ãé³å£°åæã«ç§»ããŸããããé»è©±ã§æ°è¡ã®ã³ãŒãã§äººã ã«ããã¹ããé³å£°ã§äŒããæ¹æ³ãèããŠã¿ãŸããããæ¬¡ã«ãé³å£°èªèã«åãæ¿ããŸãããããŠçµè«ãšããŠãããããã¹ãŠã®å¯èœæ§ããªãã©ã€ã³ã¢ãŒãã§ãŠãŒã¶ãŒã«æäŸããæ¹æ³ãšããããæã€æ©èœãèŠãŠã¿ãŸãããã
é³å£°æŒæãšé³å£°èªèã䜿çšããããã®ããªãã®æ°ã®ãªãã·ã§ã³ããããŸããç§ã®ãæ°ã«å ¥ãã¯ãä»ã®äººã®é³å£°ã¡ãã»ãŒãžãããã¹ãã«å€æããããšã§ãããããŠãããšãã°ãYandex.MessengerããŒã ããã®ãããªæ©èœãäœæããŠãããŠããããã§ããããŸãããã°ãä»ã®ã¡ãã»ã³ãžã£ãŒã远ãã€ããŠãå®¶ã§ããããããã§ãããã
ã¬ããŒãã®æåã®éšåãããã¯AVAudioSessionã«ã¹ã ãŒãºã«é²ãã§ããŸãã
ãªãŒãã£ãªã»ãã·ã§ã³ã¯ãã¢ããªã±ãŒã·ã§ã³ãšãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®éã®ã¬ã€ã€ãŒã§ããããæ£ç¢ºã«ã¯ãã¢ããªã±ãŒã·ã§ã³ãšãµãŠã³ããæäœããããã®ããŒããŠã§ã¢ïŒã¹ããŒã«ãŒãšãã€ã¯ïŒã®éã iOSãwatchOSãããã³tvOSã§ã¯ãåã¢ããªã«äºåæ§æãããããã©ã«ãã®ãªãŒãã£ãªã»ãã·ã§ã³ããããŸãããã®ããªã»ããã¯OSããšã«ç°ãªããŸãã
ç¹ã«iOSã«ã€ããŠèšãã°ããªãŒãã£ãªã»ãã·ã§ã³ã¯ããã©ã«ãã§ãªãŒãã£ãªåçããµããŒãããŸãããé²é³ã¯çŠæ¢ããŸãããµã€ã¬ã³ãã¢ãŒãã®ã¹ã€ãããããµã€ã¬ã³ããã¢ãŒãã«èšå®ãããŠããå Žåãã¢ããªã±ãŒã·ã§ã³å ã®ãã¹ãŠã®ãµãŠã³ããå®å šã«ãã¥ãŒããããŸãããããŠç¬¬3ã«ãããã€ã¹ãããã¯ãããšãã¢ããªã±ãŒã·ã§ã³å ã®ãã¹ãŠã®ãµãŠã³ãã®åçã忢ããŸãã
ãªãŒãã£ãªã»ãã·ã§ã³ã®èšå®ã¯ã3ã€ã®ãã€ã³ãã§æ§æãããŠããŸããããã¯ãã«ããŽãªãã¢ãŒããããã³è¿œå ãªãã·ã§ã³ã®éžæã§ããããããã®ãã€ã³ããåå¥ã«èŠãŠãããŸãã
ã«ããŽãªããå§ããŸããããã«ããŽãªã¯ããªãŒãã£ãªã»ãã·ã§ã³ã®åºæ¬çãªåäœã®èšå®ã®ã»ããã§ããã«ããŽãªã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãå¯èœãªéãäžèŽããããšãå¯èœã«ãããã©ã¡ãŒã¿ã®ã»ããã§ããããšãã°ããã®ã«ããŽãªã®ååã§ãããããã£ãŠãAppleã¯ã䜿çšå¯èœãªã«ããŽãªã«ã§ããã ãè¿ãã¢ããªã±ãŒã·ã§ã³ã®ã«ããŽãªãéžæããããšããå§ãããŸããçŸåšãiOS13ã§ã¯6ã€ã®ã«ããŽãªãå©çšã§ããŸãã 7çªç®ã®ã«ããŽãªããããŸãããéæšå¥šãšããŠããŒã¯ãããŠããããã䜿çšããªãã§ãã ããã
ãã®è¬æŒã§ã¯ãåçãé²é³ãplayAndRecordã®3ã€ã®ã«ããŽãªã«ã€ããŠèª¬æããŸããäžéšã®ã¢ãŒãã¯ç¹å®ã®ã«ããŽãªã§ã®ã¿äœ¿çšã§ããããããã®ã¢ãŒãã§ã¯ãèšå®ãããã«ããŽãªã®æ©èœãè£è¶³ã§ããŸãã
ããšãã°ãã¹ã©ã€ãã«ã¯moviePlaybackã¢ãŒãã衚瀺ãããŠãããPlaybackã«ããŽãªã«ã®ã¿èšå®ã§ããŸãã
moviePlaybackã¢ãŒããèšå®ãããšããªãŒãã£ãªã»ãã·ã§ã³ã§ãå èµã¹ããŒã«ãŒãšããããã©ã³ã®åçé³è³ªãèªåçã«åäžããŸãããã®è¬æŒã§ã¯ããããã©ã«ããã¢ãŒãã®ã¿ã䜿çšããŸãããã ããäºææ§ã®ãªãã«ããŽãªãšã¢ãŒãã®ãã¢ã䜿çšããå Žåã¯ãããã©ã«ãã®ã¢ãŒãã䜿çšãããããšã«æ³šæããŠãã ããã
3ã€ç®ã¯ããªãŒãã£ãªã»ãã·ã§ã³ã®ãªãã·ã§ã³ã§ãããã€ã³ãèšå®ã§ããããšãã°ãã¢ããªã®é³å£°ãšä»ã®ã¢ããªã®é³å£°ã®æ··åæ¹æ³ãã«ã¹ã¿ãã€ãºããããé³å£°ã»ãã·ã§ã³ã®é©åãªéã¢ã¯ãã£ãåãèšå®ããŠãã¢ããªãé³å£°ã§çµäºããããšãä»ã®ã¢ããªãèªèã§ããããã«ããããšãã§ããŸãã
ãŸããåçã®ã«ããŽãªãã€ãŸãåçã®èšå®ã«ã€ããŠèŠãŠãããŸããããã¯é³å£°ã®ã¿ã®ã«ããŽãªã®1ã€ã§ããèšå®ãããŠããå ŽåããªãŒãã£ãªã»ãã·ã§ã³ãã¢ã¯ãã£ãã«ãããšãä»ã®ã¢ããªã±ãŒã·ã§ã³ããã®ãªãŒãã£ãªã®åçãªã©ãäžæãããŸãã
ãã¥ãŒãã¹ã€ããããã¥ãŒãã«èšå®ãããŠããå Žåã§ãããªãŒãã£ãªãåçãããããšãéèŠã§ãã
ãã®ã«ããŽãªã®ããã¯ã°ã©ãŠã³ãç¶æ ã§åçãããªãã·ã§ã³ããããŸããããã®ããã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã§ãªãŒãã£ãªãAirPlayãããã³Picture inPictureãæå¹ã«ããå¿ èŠããããŸãã
ã¹ã©ã€ãã«è¡šç€ºãããŠãã2ã€ã®ãªãã·ã§ã³ãæ€èšããŠãã ããã 1ã€ç®ã¯mixWithOthersã§ãããã®ãªãã·ã§ã³ã䜿çšããŠãªãŒãã£ãªã»ãã·ã§ã³ãã¢ã¯ãã£ãã«ãããšãã¢ããªã±ãŒã·ã§ã³å ã§ã®ãµãŠã³ãåçã¯ãçŸåšåçäžã®ãµãŠã³ãïŒé³æ¥œãªã©ïŒãš1ã€ã®ããªã¥ãŒã ã¬ãã«ã§ããã¯ã¹ãããŸãããã ããçŸåšã®åçãããé³éã®ç¹ã§ãµãŠã³ããåªå ããããå Žåã¯ãduckOthersãªãã·ã§ã³ã䜿çšã§ããŸããããã¯ã°ã©ãŠã³ãã§åçããããµãŠã³ãã®é³éãäžããã¢ããªã±ãŒã·ã§ã³å ã§åçããããµãŠã³ããçµäºãããšå ã«æ»ããŸãã
ããšãã°ãããã¯ããã²ãŒã·ã§ã³ã¢ããªã±ãŒã·ã§ã³ã§ç¢ºèªã§ããŸããã«ãŒãã¢ããŠã³ã¹ã®å ŽåãçŸåšèŽããŠãããã®ããã¥ãŒããããã¢ããŠã³ã¹ãåçãããŠããããã¹ãŠãå ã®ç¶æ ã«æ»ããŸãã
ãã€ã¯ããã®èªèã®ããã«ãªãŒãã£ãªã»ãã·ã§ã³ãèšå®ãããªãã·ã§ã³ãèããŠã¿ãŸããããã¬ã³ãŒãã«ããŽãªã¯ããã®ã«ããŽãªã®ãªãŒãã£ãªã»ãã·ã§ã³ãã¢ããªã±ãŒã·ã§ã³ã§ã¢ã¯ãã£ããªéãåçäžã®ãã¹ãŠã®ãªãŒãã£ãªããã¥ãŒãããŸãã Recordã¯ãé話ãã¢ã©ãŒã ãªã©ã®ã·ã¹ãã ãµãŠã³ãããã¥ãŒãããããšã¯ã§ããŸãããäžè¬ã«ãåªå 床ã®é«ãæšæºãµãŠã³ãã§ãã
allowBluetoothA2DPãªãã·ã§ã³ã远å ããããšãã§ããŸããããã«ãããAirPodsãªã©ã®ãããã»ããã䜿çšããŠããã€ã¯ããã®ãµãŠã³ããé²é³ãããã€ã¯ã§ãµãŠã³ããåçã§ããŸããããã«ã¯å€ããªãã·ã§ã³ããããallowBluetoothãšåãããã«èãããŸãããé³è³ªãå€§å¹ ã«äœäžããŸãã
以åã¯å€ããªãã·ã§ã³ã䜿çšããŠããŸããããã¢ããªã±ãŒã·ã§ã³å ã§åçããã³é²é³ããããµãŠã³ãã®åè³ªã«æºè¶³ããŠããªããšãããŠãŒã¶ãŒããã®èŠæ ããããŸããããªãã·ã§ã³ã倿Žãããã¹ãŠãè¯ããªããŸããã
é³å£°èªèãšé³å£°åæã®äž¡æ¹ãåæã«äœ¿çšããå Žåã¯ãplayAndRecordã«ããŽãªã䜿çšããŸããæ¬¡ã«ãã¢ã¯ãã£ãåããããªãŒãã£ãªã»ãã·ã§ã³å ã§ããµãŠã³ãã®é²é³ãšåçã®äž¡æ¹ã䜿çšã§ããŸãã
notifyOthersOnDeactivationãªãã·ã§ã³ã¯åå¥ã«æ€èšããå¿ èŠããããŸããããã¯ããªãŒãã£ãªã»ãã·ã§ã³ãã¢ã¯ãã£ãåããããã®ã¡ãœããã§äœ¿çšãããŸãããªããããªã«éèŠãªã®ã§ããïŒ
ãã®ãªãã·ã§ã³ã§ãªãŒãã£ãªã»ãã·ã§ã³ãéã¢ã¯ãã£ãåãããå Žåãä»ã®ã¢ããªã±ãŒã·ã§ã³ã¯ããªãŒãã£ãªã»ãã·ã§ã³ã®äžæãçµäºããããšã瀺ããã©ã¡ãŒã¿ãŒãå«ãAVAudioSessionInterruptionTypeEndedãã©ã¡ãŒã¿ãŒãå«ãAVAudioSessionInterruptionNotification IDãåãåããäžæãããåã«éå§ããããµãŠã³ãã®æäœãç¶è¡ã§ããŸãã
ãã®ã·ããªãªã¯ãmixWithOthersãªãã·ã§ã³ã®ãªãã¢ããªã±ãŒã·ã§ã³ã§åçã«ããŽãªã䜿çšããå Žåã«å¯èœã§ããããããªããšãå¥ã®ã¢ããªã±ãŒã·ã§ã³ã®ãµãŠã³ããäžæãããããªãŒãã£ãªãå¥ã®ã¢ããªã±ãŒã·ã§ã³ãšåã«ããã·ã³ã°ãããããã§ãã
ãã®ãªãã·ã§ã³ã䜿çšããŠå€æŽãæ£ããåŠçããããšã§ãã¢ããªã±ãŒã·ã§ã³ã§äœæ¥ãããšãã«ãŠãŒã¶ãŒã«å¿«é©ãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸã§ããŸãã
ã¹ã©ã€ãã§ã¯ããªãŒãã£ãªã»ãã·ã§ã³å ã§ã¢ããªã±ãŒã·ã§ã³ãå¥ã®ã¢ããªã±ãŒã·ã§ã³ã«ãã£ãŠäžæããããšããéç¥ãé©åã«åŠçããæ¹æ³ã®äŸãšãäžæãçµäºãããšãã®ç¶æ³ã確èªã§ããŸããã€ãŸããç¹å®ã®éç¥ããµãã¹ã¯ã©ã€ãããŸãããããããäžæãéå§ããããšããšçµäºãããšãã®2ã€ã®ã¿ã€ãããããŸãã
åè ã®å Žåã¯ç¶æ ãä¿åã§ããåŸè ã®å Žåã¯å¥ã®ã¢ããªã±ãŒã·ã§ã³ã«ãã£ãŠäžæããããµãŠã³ãã®åçãç¶è¡ã§ããŸãã
ãããã©ã®ããã«æ©èœãããã®äŸã次ã«ç€ºããŸãã
ãããªã¯äŸã瀺ãããŠããç¬éããåçãããŸãã
ãã®äŸã§ã¯ã鳿¥œã¯å¥ã®ã¢ããªã±ãŒã·ã§ã³ãã€ãŸãVLCã§åçãããã¢ããªã±ãŒã·ã§ã³å ã§é³å£°åçãéå§ããŸããã鳿¥œãäžæãããåæãããã¹ããŒããåçãããåŸã鳿¥œã¯èªåçã«åçãåéããŸããã
ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ããµãŠã³ããäžæããããšãã®ç¶æ³ãæ£ããåŠçã§ããããã§ã¯ãªãããšãææããããšæããŸããããšãã°ã人æ°ã®ããã€ã³ã¹ã¿ã³ãã¡ãã»ã³ãžã£ãŒã®äžã«ã¯ãªãŒãã£ãªã®åçãåéããªããã®ããããŸãã
ãŸãšããŸãããããªãŒãã£ãªã»ãã·ã§ã³ã®åçãåæããŸãããã¢ããªã±ãŒã·ã§ã³ã®èŠä»¶ã«åãããŠãªãŒãã£ãªã»ãã·ã§ã³ãæ§æããå¯èœæ§ãæ€èšãããŠãŒã¶ãŒã®ãªãŒãã£ãªã»ãã·ã§ã³ã䟿å©ã«ã¢ã¯ãã£ãåããã³éã¢ã¯ãã£ãåããæ¹æ³ãåŠã³ãŸããã
é²ããã¹ããŒãã®åæã
ã¹ã©ã€ãã¯ãé³å£°åæããã»ã¹ã«é¢ä¿ããã¯ã©ã¹ã®å³ã瀺ããŠããŸããäž»ãªã¯ã©ã¹ã¯ãAVSpeechSynthesiserãAVSpeechUtteranceãããã³AVSpeechSynthesisVoiceãšãã®èšå®ã§ãã
ãããšã¯å¥ã«ããªã¯ãšã¹ãå šäœã®ã©ã€ããµã€ã¯ã«ã«é¢ããéç¥ãåä¿¡ã§ããAVSpeechSynthesizerDelegateãããããšã«æ³šæããŠãã ãããããã¹ãã®ãµãŠã³ãããµãŠã³ããåçããŠãããããåè¿°ã®AVAudioSessionã¯ããã§ã¯æé»ã®äŸåé¢ä¿ã«ãªããŸãã
ãªãŒãã£ãªã»ãã·ã§ã³ãèšå®ããªããŠãèªèãèŠæ±ã§ããŸããããããã¯ã·ã§ã³ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãèšå®æ¹æ³ãçè§£ããããšãéèŠã§ããããã«ã€ããŠã¯åã«è©±ããŸããã
é³å£°åæãªã¯ãšã¹ãããã°ããè¡ãæ¹æ³ã®æçã®äŸã AVSpeechUtteranceã¯ã©ã¹ã®ãªããžã§ã¯ããäœæããå¿ èŠããããŸããããã§ã話ãããããã¹ããç®çã®é³å£°ãããã³èšèªãæå®ããŸããé³å£°ã®äœææã«èšèªãã±ãŒã«ãæå®ããªãå Žåã¯ãé»è©±ã®ããã©ã«ãã®ãã±ãŒã«ã䜿çšãããŸãããã ããæ¬¡ã®ã¹ã©ã€ãã§ã¯ãé³å£°ã®éžæãšãã®æäœæ¹æ³ã«ã€ããŠèª¬æããŸãã
次ã«ãAVSpeechSynthesizerã¯ã©ã¹ã®ãªããžã§ã¯ããäœæããspeakã¡ãœãããåŒã³åºããŸãããã¹ãŠããã®åŸãããã¹ããåæãããŠåçãããçµæãèãããŸãã
ãããå®éã«ã¯ãããã¯ã»ãã®å§ãŸãã«éããŸãããé³å£°åæã«ã¯ããã«å€ãã®å¯èœæ§ããããŸããããã«ã€ããŠã¯ããããã説æããŸãã
ãŸããé³ãåä¿¡ãããšãã®é床ãèšå®ã§ããŸããé床ã¯ã0ãã1ã®ç¯å²ã®å®æ°ãšããŠæå®ãããŸãã rateããããã£ã0ãã0.5ã®ç¯å²ã«èšå®ãããšãå®éã®ã¬ãŒãã¯0ãã1ãŸã§å€åããŸãã
ã¬ãŒãå€ã0.5ãã1ã®ç¯å²ã«èšå®ãããšãã¬ãŒãã¯1Xãã4Xã®å€ã«æ¯äŸããŠå€åããŸãã
ã¹ããŒãã§äœæ¥ããæ¹æ³ã®äŸã
AVFoundationã«ã¯ã宿°AVSpeechUtteranceDefaultããããŸããããã¯å®éã«ã¯0.5ã§ããããªãŒãã£ãªåçã®éåžžã®é床ã«çžåœããŸãã
éåžžã®ååã®é床ãæå®ããããšãã§ããŸãã0.25ã®å€ãæå®ããå¿ èŠããããŸãã0.75ãæå®ãããšãé床ã¯éåžžã®2.5åã«ãªããŸãããŸãã䟿å®äžãæå°éåºŠãšæå€§é床ã®å®æ°ããããŸãã
ããã§ãããã€ãã®äŸã瀺ããŸãã
ãããªã¯ãäŸ
ã瀺ãããŠããç¬éããåçãããŸããããã¯ãMacintoshãAppleã®ãã¬ãŒã³ããŒã·ã§ã³ã§åããŠèªåã®å£°ã§è©±ããŠããäŸã§ãããããŠãããã¯éåžžã®åæé³å£°é床ã®äŸã§ããã
ããã¯2åé ãã§ãã
ããã¯2.5åé«éã§ãã
ãããšã¯å¥ã«ãæåŸã®è¡ã§ãpreUtteranceDelayããããã£ãšpostUtteranceDelayããããã£ãåŒãåºããŸãããããã¯ããµãŠã³ãã®åçãéå§ããããŸã§ã®é å»¶ãšããµãŠã³ãã®åçãçµäºããåŸã®é å»¶ã§ããã¢ããªã±ãŒã·ã§ã³ãä»ã®ã¢ããªã±ãŒã·ã§ã³ã®ãµãŠã³ããšããã¯ã¹ãããã°ãããããšé³éãäžããŠçµæã倱ãããå Žåã«äœ¿çšãããšäŸ¿å©ã§ãããã®åŸãããå°ãåŸ ã£ãŠãããå¥ã®ã¢ããªã±ãŒã·ã§ã³ã®ããªã¥ãŒã ãå ã®äœçœ®ã«æ»ããŸããã
次ã®ãã©ã¡ãŒã¿ã§ããé³å£°éžæãèŠãŠã¿ãŸããããé³å£°åæã®é³å£°ã¯ãäž»ã«ãã±ãŒã«ãèšèªãå質ã«ãã£ãŠåããããŸãã AVFoundationã¯ãAVSpeechSynthesisVoiceãªããžã§ã¯ããäœæãŸãã¯ååŸããããã®ããã€ãã®æ¹æ³ãæäŸããŸãã 1ã€ç®ã¯é³å£°IDã«ãããã®ã§ããåé³å£°ã«ã¯åºæã®IDããããSpeechVoiceéçããããã£ã«ã¢ã¯ã»ã¹ãããšã䜿çšå¯èœãªãã¹ãŠã®é³å£°ã®ãªã¹ããèŠã€ããããšãã§ããŸãããã®ããããã£ã®ååŸã«ã¯ããã€ãã®ç¹åŸŽããããŸããããããã«ã€ããŠããã«èª¬æããŸãã
ç¡å¹ãªèå¥åãã³ã³ã¹ãã©ã¯ã¿ãŒã«æž¡ããšãã³ã³ã¹ãã©ã¯ã¿ãŒã¯ãnoããè¿ãããšã«æ³šæããŠãã ããã
2çªç®ã®ãªãã·ã§ã³ã¯ãèšèªãŸãã¯ãã±ãŒã«ã³ãŒãã§ååŸããããšã§ãããŸããAppleã¯Siriã®é³å£°ã¯å©çšã§ããªããšèšã£ãŠããŸãããããã¯å®å šã«çå®ã§ã¯ãããŸãããäžéšã®ããã€ã¹ã§Siriã§äœ¿çšãããŠããäžéšã®é³å£°ã®IDãååŸã§ããŸãããããããããã¯ãã°ã§ãã
é³å£°ã«ã¯ãããã©ã«ããšæ¹åã®2ã€ã®å質ããããŸããäžéšã®ãã€ã¹ã«ã€ããŠã¯ãæ¹åãããããŒãžã§ã³ãããŠã³ããŒãã§ããŸããããã«ã€ããŠã¯åã®ã»ã¯ã·ã§ã³ã§èª¬æããå¿ èŠãªãã€ã¹ãããŠã³ããŒãããæ¹æ³ã«ã€ããŠèª¬æããŸãã
ç¹å®ã®é³å£°ãéžæããæ¹æ³ã®äŸã 1ã€ç®ã¯ç¹å®ã®èå¥åã2ã€ç®ã¯èšèªã³ãŒãã瀺ãè¡ã3ã€ç®ã¯ç¹å®ã®ãã±ãŒã«ã§ãã
ããã§ãåãããã¹ããç°ãªããã±ãŒã«ã§ããã³ã°ãã2ã€ã®äŸãåçããããšæããŸãã
ãããªã¯äŸã瀺ãããŠããç¬éããåçãã
ãŸã.2çªç®ã®ãªãã·ã§ã³ã¯ãç§ã«ã¯ãã·ã¢ã®çºé³ã«è¿ãããã§ãã
æ§å¥ã¯iOS13ã«ãç»å ŽããŸããããŸãããã®ããããã£ã¯iOS 13以éã§ã®ã¿äœ¿çšã§ããiOS 13ã§è¿œå ãããé³å£°ã«å¯ŸããŠã®ã¿æ©èœããŸãããããã£ãŠãGenderã¯enumãšããŠèšå®ãããFemaleãMaleãUnspecifiedã®3ã€ã®ããããã£ããããŸãã
ç§ãã¡ã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãããã¹ããèªãå£°ã®æ§å¥ãéžæã§ããŸããå€ã声ã«ã€ããŠã¯ãèªåã§ãªã¹ããäœæããã¢ããªã±ãŒã·ã§ã³ã«ä¿åããŸãããã·ã¹ãã ãUnspecifiedãè¿ãé³å£°ã«ã€ããŠãã©ã®é³å£°ãç·æ§ãšèŠãªããã©ã®é³å£°ã女æ§ãšèŠãªãããåé¢ããŸãã
iOS 13.1ã§ã¯ãæç¥šã®ãªã¹ãã¯æåã®åŒã³åºãã§ç©ºã®ãªã¹ããè¿ãå ŽåããããŸãã解決çïŒç¹å®ã®ç§æ°ã«1åããªã¹ãå šäœãåã¯ãšãªã§ããŸãã空ã§ã¯ãªãæ»ã£ãŠããããããããææ°ã®æç¥šãªã¹ããåãåã£ããšæããŸãã
ãã®ãã°ã¯iOSã®åŸç¶ã®ããŒãžã§ã³ã§ä¿®æ£ãããŠããŸãããã¢ããªã§ããã衚瀺ãããŠãé©ããªãã§ãã ããã
ããã¥ã¡ã³ãã®èª¿æ»äžã«ééããè峿·±ãç¹ã¯ãéçããããã£AVSpeechSynthesisVoiceAlexIdentifierããããŸãããŸãããã¹ãŠã®ããã€ã¹ããã®èå¥åã§é³å£°ãäœæã§ããããã§ã¯ãªããããããã¯éåžžã«è峿·±ãèå¥åã§ãã第äºã«ããªããããå¥ã ã«é 眮ãããŠããã®ãç§ã«ã¯ããããŸããã第äžã«ããã®èå¥åãæã€é³å£°ãååŸããå Žåããã®é³å£°ã«ã¯äžæã®ç°ãªãã¯ã©ã¹ããããŸãã
åæã«ããã¬ãŒã ã¯ãŒã¯ããããŒã®èª¿æ»ã§ã¯ãæçšã§è峿·±ããã®ã¯äœãåŸãããŸããã§ããããã®èå¥åã«é¢ããæ å ±ãç¥ã£ãŠããå Žåã¯ããªããããå¿ èŠãªã®ãããªã衚瀺ãããã®ããæããŠãã ãããç§ã¯ãã®è³ªåã«å¯ŸããçããèŠã€ããããšãã§ããŸããã§ããã
ããã§ã¯ããã±ãŒã«ãã€ã³ã¿ãŒãã§ã€ã¹ã®æ§å¥ã«åºã¥ããŠé³å£°ãéžæããæ¹æ³ãããã³ç¹å®ã®èšèªã§åäœããé³å£°ã®é床ãæå®ããæ©èœãæäŸããæ¹æ³ã®äŸãèŠãããšãã§ããŸãã
ã©ãã³èªã«åºã¥ããŠæåèµ·ãããèšé²ããããã®æšèã®ã·ã¹ãã ã«ã€ããŠç°¡åã«èª¬æããŸããå£°ã®æŒæã®ããã®ããã¹ããäžãããšããããªãã¯ãã®äžã®ç¹å®ã®åèªã®çºé³ãæå®ããããšãã§ããŸãã iOSã§ã¯ãããã¯ç¹å¥ãªããŒã䜿çšããŠNSAttributedStringãä»ããŠè¡ãããŸãããã®çºé³ã®çæã¯ãiOSããã€ã¹ã®[ã¢ã¯ã»ã·ããªãã£]ã»ã¯ã·ã§ã³ã§çŽæ¥å©çšã§ããŸãããããã倧éã®å Žåãããã¯éåžžã«äžäŸ¿ã§ããããã«æãããä»ã®æ¹æ³ã§é³å£°è»¢åã®çæãèªååã§ããŸãã
ããšãã°ãããã¯åèªã®çžé¢é¢ä¿ãšçºé³ã®å€§èŠæš¡ãªèŸæžãæã€è±èªã®ãªããžããªã§ãã
ã¹ã©ã€ãã¯ãç¹å®ã®åèªã®çºé³ã1ã€ã®ãã±ãŒã«ã«çœ®ãæããæ¹æ³ã®äŸã瀺ããŠããŸãããã®å Žåãããã¯| tÉËmÉËtÉÊ |ããããã§ãã
äŸ
ã瀺ãããç¬éãããããªãåçãããŸããããã§ã屿§ãçºé³ã«èšå®ãããªãã·ã§ã³ãšããªããªãã·ã§ã³ãåçãããŸããã
å šäœãšããŠãé³å£°åæãªã¯ãšã¹ããäœæããæ¹æ³ãæ€èšããŸãããå£°ãæ±ãããšãåŠã³ãŸãããééããå¯èœæ§ã®ãããã°ã®1ã€ã«å¯Ÿããåé¿çãæ€èšããé³å£°æå倿ããã®äœ¿ç𿹿³ãæ€èšããŸããã
é³å£°èªèã«ç§»ããŸããããiOSã§ã¯SpeechãšåŒã°ãããã¬ãŒã ã¯ãŒã¯ã®åœ¢åŒã§è¡šç€ºãããããã€ã¹äžã§é³å£°èªèãè¡ãããšãã§ããŸãã
çŽ50ã®èšèªãšæ¹èšããµããŒããããŠãããiOS 10以éã§å©çšã§ããŸããé³å£°èªèã«ã¯éåžžãã€ã³ã¿ãŒãããæ¥ç¶ãå¿ èŠã§ãããã ããäžéšã®ããã€ã¹ããã³äžéšã®èšèªã§ã¯ãèªèã¯ãªãã©ã€ã³ã§æ©èœããŸããããã«ã€ããŠã¯ãç§ã®è¬æŒã®ç¬¬4éšã§èª¬æããŸãã
é³å£°èªèã¯ããã€ã¯ãšãªãŒãã£ãªãã¡ã€ã«ã®äž¡æ¹ããå©çšã§ããŸãããŠãŒã¶ãŒã«ãã€ã¯ããã®é³å£°ãèªèã§ããããã«ããå ŽåããŠãŒã¶ãŒã¯2ã€ã®ã¢ã¯ã»ã¹èš±å¯ãäžããå¿ èŠããããŸãã 1ã€ã¯ãã€ã¯ãžã®ã¢ã¯ã»ã¹çšã§ããã1ã€ã¯åœŒã®ã¹ããŒããèªèã®ããã«AppleãµãŒããŒã«éä¿¡ããããšããäºå®ã®ããã§ãã
æ®å¿µãªããããªãã©ã€ã³èªèãã䜿çšã§ããªãå Žåããã®èš±å¯ãèŠæ±ããªãããšã¯äžå¯èœã§ãããšã«ãããªã¯ãšã¹ãããå¿ èŠããããŸãã
ãã®ãªã¹ãã¯ãAppleã®Webãµã€ãããååŸãããã®ã§ãããããã¯ãé³å£°èªèã«äœ¿çšã§ããèšèªãšãã±ãŒã«ã§ãããããå®éã«ã¯ãããã¯æšæºã®ããŒããŒãã§ãã£ã¯ããŒã·ã§ã³ã«äœ¿çšã§ããèšèªãšãã±ãŒã«ã®ãªã¹ãã§ãããŸããå éšã®Speech Framework APIã¯ãæšæºããŒããŒãããã®ãã£ã¯ããŒã·ã§ã³ã®å®è£ ãæããŸãã
éçºè ãšããŠã®é³å£°èªèã¯ç¡æã§ããã䜿çšå¶éããããŸãã 1ã€ç®ã¯ã1æ¥ãããã®ããã€ã¹ãšãªã¯ãšã¹ãã®å¶éã§ãã 2ã€ç®ã¯ãã¢ããªã±ãŒã·ã§ã³ã®åèšå¶éã§ãããããŠç¬¬äžã«-ããªãã¯æå€§1åãèªèããããšãã§ããŸããå¯äžã®äŸå€ã¯ãªãã©ã€ã³ã¢ãŒãã§ãããã®äžã§ãé·ãé²é³ããããªãŒãã£ãªã¡ãã»ãŒãžã®èªèãè¡ãããšãã§ããŸãã
ãã¡ãããAppleã¯å¶éã«ã€ããŠå ·äœçãªæ°å€ãè¿°ã¹ãŠããŸããããŸããWWDCã¬ããŒãã«èšèŒãŸãã¯èšèŒãããŠããããã«ããšã©ãŒãåŠçããããšãã°ãããã®å¶éã«é »ç¹ã«ã¶ã€ãã£ãå Žåã¯ããšã©ãŒãæžãèŸŒãæºåãããå¿ èŠããããŸãããããããã®ãããªåé¡ã¯ãããŸããããã·ã¢èªã®å Žåãé³å£°èªèãšã³ãžã³ãšããŠSpeechKitã䜿çšããŸãããŸããã»ãšãã©ã®ãŠãŒã¶ãŒã¯ãã·ã¢èªã話ããããå¶éã«çŽé¢ããŠããŸããã
ãŸãããã©ã€ãã·ãŒã«ã€ããŠãå¿ ãèããŠãã ãããããŒã¿ïŒãã¹ã¯ãŒããã¯ã¬ãžããã«ãŒãããŒã¿ïŒã«é³å£°ãäœçšããããšãèš±å¯ããªãã§ãã ãããæ©å¯æ å ±ãå人æ å ±ãèªèã§ããããã«ããªãã§ãã ããã
ã¹ã©ã€ãã§ã¯ãé³å£°èªèããã»ã¹ã«é¢ä¿ããã¯ã©ã¹ã®æ¡ä»¶ä»ãå³ãèŠãããšãã§ããŸããåæãšåæ§ã«ãèªèã®æäœã¯ãªãŒãã£ãªã¢ã€ã¢ã³ã®æäœã§ãããããããã§ãAVAudioSessionã¯æç€ºçãªäŸåé¢ä¿ã§ãã
ãµããŒãããµããŒããããŠãããã¹ãŠã®ãã±ãŒã«ã®ã»ãããååŸããã«ã¯ãsupportedLocalesããŒãžããããã£ã«ã¢ã¯ã»ã¹ããå¿ èŠããããŸããç¹å®ã®ãã±ãŒã«ã®ãµããŒãã¯ãéåžžããã®ãã±ãŒã«ã§é³å£°èªèãçŸåšå©çšå¯èœã§ããããšãä¿èšŒãããã®ã§ã¯ãããŸãããããšãã°ãAppleãµãŒããŒãžã®æ°žç¶çãªæ¥ç¶ãå¿ èŠã«ãªãå ŽåããããŸãã
èªèã®ãã±ãŒã«ãµããŒãã¯ãiOSã®ããŒããŒãã§ã®ãã£ã¯ããŒã·ã§ã³ã®ãã±ãŒã«ã®ãªã¹ããšäžèŽããŸãããããå®å šãªãªã¹ãã§ããç¹å®ã®ãã±ãŒã«ãä»ããåŠçã§ããããã«ããã«ã¯ãisAvailableããããã£ã䜿çšã§ããŸãã
iOSã®é³å£°èªèã§ã¯ãåæãšã¯ç°ãªããåèšèªã«ãã±ãŒã«ã®åªå é äœã¯ãããŸããããããã£ãŠããã¹ãŠã®ãã±ãŒã«ã®ãªã¹ãããç¹å®ã®èšèªã®æåã®ãã±ãŒã«ãååŸãããšãæã人æ°ã®ãªããã±ãŒã«ãååšããå¯èœæ§ããããŸãããããã£ãŠãTranslatorã®äžéšã®èšèªã§ã¯ãç¹å®ã®èšèªã®ç¹å®ã®ãã±ãŒã«ãåªå ããŸãã
ããšãã°ãè±èªã®å Žåã¯en-USã䜿çšããŸãããŠãŒã¶ãŒãåããŠè±èªã§äœããèªèããããšãããšãã¯ãã¢ã¡ãªã«ã®ãã±ãŒã«ã䜿çšããŸãã
ãã¡ã€ã«ããã®èªèèŠæ±ãããã§ã¯ãã¹ãŠãç°¡åã§ãããã¡ã€ã«ãååŸããŠãªã³ã¯ãã䜿çšãããã±ãŒã«ã瀺ãSFSpeechRecognizerãªããžã§ã¯ããäœæããå¿ èŠããããŸããçŸæç¹ã§èªèãå¯èœã§ããããšã確èªããŠãã ããããã¡ã€ã«ãã¹ãæž¡ãã³ã³ã¹ãã©ã¯ãã䜿çšããŠSFSpeechURLRecognitionRequestãäœæããŸãããããŠãèªèã¿ã¹ã¯ãéå§ããŸãã
ãã®çµæãèªèãšã©ãŒãŸãã¯çµæã®ãããããåãåããŸããçµæã«ã¯isFinalããããã£ããããŸããããã¯ããã®çµæãæçµçãªãã®ã§ãããããã«äœ¿çšã§ããããšãæå³ããŸãã
ããã¯ããå°ãè€éãªäŸã§ã-ãã€ã¯ããã®èªèã®èŠæ±ããã®ããã«ã¯ããã€ã¯ã®æäœãæ åœããAVAudioEngineãªããžã§ã¯ããå¿ èŠã§ãããããã©ã®ããã«æ©èœãããã«ã€ããŠã¯è©³ãã説æããŸãããå¿ èŠãªã«ããŽãªïŒ.recordãŸãã¯.playRecordïŒãèšå®ããŸãããªãŒãã£ãªã»ãã·ã§ã³ããªã³ã«ããŸãã AudioEngineãæ§æãããã€ã¯ãããªãŒãã£ãªãããã¡ãŒãåä¿¡ããããã«ãµãã¹ã¯ã©ã€ãããŸããããããèªèèŠæ±ã«è¿œå ããèªèãå®äºãããããã€ã¯ãçµäºã§ããŸãã
äžæçãªèªèçµæã®çºè¡ãæ åœããshouldReportPartialResultsããããã£ãtrueã«èšå®ãããŠããããšã¯æ³šç®ã«å€ããŸãããªãã·ã§ã³ãèŠãŠã¿ãŸããããshouldReportPartialResultsãã©ã°ãããå Žåãšãªãå Žåã®ã¢ããªã±ãŒã·ã§ã³ã®å€èгã§ãã
ãããªã¯ãäŸã瀺ãããŠããç¬éããåçãããŸãã
å·Šã®äŸã§ã¯ãé³ã«å¯Ÿãããã€ã¯ã®å¿çãæ®ããŠãé³éã倿ŽããŠããŸããç§ãäœããèšã£ãŠããããšãããããŸããããããç§ã話ãçµãããŸã§ãããªãã¯äœãèŠããŸããããŠãŒã¶ãŒãå£è¿°ããçµæãåŸãã«ã¯é·ãæéãããããŸãã
shouldReportPartialResultsãtrueã«èšå®ããŠæ£ããåŠçãããšããŠãŒã¶ãŒã¯è©±ããŠãããšãã«èªåãèšã£ãŠããããšã確èªã§ããŸããããã¯éåžžã«äŸ¿å©ã§ããã£ã¯ããŒã·ã§ã³ã®èгç¹ããã€ã³ã¿ãŒãã§ã€ã¹ãå®è¡ããæ£ããæ¹æ³ã§ãã
ããã¯ããªãŒãã£ãªã»ãã·ã§ã³ã§ã®äœæ¥ã®åŠçæ¹æ³ã®äŸã§ãã Translatorã®å éšã§ã¯ãäœæãããµãŠã³ãã ãã§ãªãããªãŒãã£ãªã»ãã·ã§ã³ã§äœããå®è¡ã§ããä»ã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããŸãã
ãŸããèšå®ãã«ããŽãªãå¿ èŠãªãã®ã§ããããšã確èªããã³ã³ãããŒã©ãäœæããŸãããæ¬¡ã«ããªãŒãã£ãªã»ãã·ã§ã³ãåžžã«ãªã³/ãªãã«ããæ©èœãå®è¡ããŸããã
察話ã¢ãŒããé³å£°å ¥åãããã³ã°ãéçºãããåãããç§ãã¡ã¯ãªãŒãã£ãªã»ãã·ã§ã³ã®ãªã³ãšãªããåãæ¿ããŠããŸããã察話ã¢ãŒããäœãå§ãããšãããããã®ãªã³ãªãã¢ãŒãã¯ãããªããäœããèšã£ãŠãã声ãåºããŸã§ã®éã«äœåãªé å»¶ã远å ããããšãããããŸããã
é³å£°èªèã¯ãšãªã®å Žåããã³ãïŒèªèãããé³å£°ã®ã¿ã€ãïŒãæå®ã§ããŸããæå®ã§ããªãå Žåãããã°ãå£è¿°ãæ€çŽ¢ããŸãã¯ç°¡åãªç¢ºèªã®å ŽåããããŸããå€ãã®å ŽåããŠãŒã¶ãŒãé·ãããšãèšãå Žåã¯ãå£è¿°ã®æ¹ãé©ããŠããŸãã
iOS 13以éããªãŒãã£ãªåæãå©çšã§ããŸããã¹ã©ã€ãã¯ãèªèãããé³å£°ã®çµæãšããŠååŸã§ãããã©ã¡ãŒã¿ãŒã瀺ããŠããŸããã€ãŸããçµæãšããŠããŠãŒã¶ãŒãèšã£ãããšã ãã§ãªãããŠãŒã¶ãŒãèšã£ã声ãåãåãããšã«ãªããŸãã
ç§ãã¡ã¯ããã«é·ãéãã ããã€ããã¯ãããŸãããããã¯ãèªèãããããã¹ãã®çµæãšããŠåæãååŸããæ¹æ³ã®äŸã§ãã
å šäœãšããŠãé³å£°èªèã®ããã®é³å£°ãã¬ãŒã ã¯ãŒã¯ã®æ©èœãç ç©¶ããé³å£°èªèã®ãã³ããäžããæ¹æ³ãåŠã³ãåæã®æ©èœããã°ãã調ã¹ãŸããã
ãããŠæåŸã«éèŠãªã®ã¯ããªãã©ã€ã³äœæ¥ã§ããç§ãæåã«è©±ãããã®ã¯ãé³å£°åæã®ããã®ãªãã©ã€ã³èšèªã®ãªã¹ãã§ããããã¥ã¡ã³ãã®ã©ãã«ãããªãã©ã€ã³ã§äœæ¥ããããã«é³å£°ãæç€ºçã«ããŠã³ããŒãããæ¹æ³ã«ã€ããŠã®èšåã¯èŠã€ãããŸããã§ãããã¬ããŒããšããã¥ã¡ã³ãã®äž¡æ¹ã§ããããã®é³å£°ã¯ããŠã³ããŒãã§ãããšæžãããŠããŸãããæžãããŠããŸããã
ã·ã¹ãã ãæ€çŽ¢ãããšããã[èšå®]ã[ã¢ã¯ã»ã·ããªãã£]ã»ã¯ã·ã§ã³ã[å£é ã³ã³ãã³ã]ã[é³å£°]ã®é ã«ç§»åãããšãæåã«ã䜿çšå¯èœãªèšèªã®ãªã¹ãã衚瀺ãããããšãããããŸãããæ¬¡ã«ãç¹å®ã®èšèªã«åãæ¿ããããšã§ãæ°ããé³å£°ãããŠã³ããŒãã§ããŸãã
ãããŠããã®ãªã¹ãã¯ãAVSpeechSynthesisVoice.speechVoicesãã¢ããªã±ãŒã·ã§ã³å ã§è¿ããã®ãšæç¢ºã«äžèŽããŸããããã¯ããŠãŒã¶ãŒãããã¹ãããŒã¹ããŒãããªãã©ã€ã³ã§äœ¿çšããããã«å¿ èŠãªèšèªãããŠã³ããŒãã§ããããšããŠãŒã¶ãŒã«æããããšãã§ããããšãæå³ããŸãã
èªèã®ããã®ãªãã©ã€ã³èšèªã®ãªã¹ããããã¥ã¡ã³ãã®ã©ãã«ãæç€ºçã«ç€ºãããŠããŸããããããŸããŸãªãã©ãŒã©ã ãšç§ãã¡ãééãããã®ãã倿ãããšãããã¯ã€ã³ã¿ãŒãããã«ã¢ã¯ã»ã¹ããã«ãªãã©ã€ã³ã§äœæ¥ã§ããèšèªãšãã±ãŒã«ã®ãªã¹ãã§ãã
ãªãã©ã€ã³èªèã¯ãA9ããã以åã®ããã€ã¹ã§äœ¿çšã§ããããšã«æ³šæããŠãã ããã
ä»ã楜ããéšåãæ¥ãŸããé³å£°èªèçšã®ãªãã©ã€ã³èšèªã®ãªã¹ããåæãšã¯ç°ãªããäžè¬çã«èªåã§èšèªãæç€ºçã«ããŠã³ããŒãããæ¹æ³ã¯ãããŸãããæšæºããŒããŒãã«èšèªã远å ãããšããã®èšèªã®ãªãã©ã€ã³ããã±ãŒãžãããŠã³ããŒãã§ããŸããæ®å¿µãªãããããã¯æ±ºå®è«çã§ã¯ãããŸããã [èšå®]> [äžè¬]> [ããŒããŒã]> [ãã£ã¯ããŒã·ã§ã³]ã«ç§»åããŸããããããšãã°ãã¹ãã€ã³èªã远å ããŸããããã®åŸãããã£ã¯ããŒã·ã§ã³ãã®äžã«ããããã®èšèªã§ãã£ã¯ããŒã·ã§ã³ãå©çšã§ããå¯èœæ§ããããšããå°ããªãã³ãã衚瀺ãããŸããããã«ã¹ãã€ã³èªãç»å ŽããŸããã
ããããç§ã¯ç§ãã¡ã®ã¢ããªã±ãŒã·ã§ã³ã«è¡ããã€ã³ã¿ãŒãããããªãã«ããŸããããããŠç§ã®ã¹ãã€ã³èªã§ã®ãªãã©ã€ã³èªèãããŸããããŸããã
æ®å¿µãªãããããã¯éæ¥çã«ãã圱é¿ãåããŸãããå¯äžã®æ¹æ³ã¯ãæšæºã®ããŒããŒãã«èšèªã远å ããããšã§ãããã ããããã¯ãªãã©ã€ã³èªèããã±ãŒãžãããŠã³ããŒããããããšãä¿èšŒãããã®ã§ã¯ãããŸããã
iOSã§ã¯ãé»è©±ã§ã€ã³ã¿ãŒãããã«ã¢ã¯ã»ã¹ã§ããå Žåã§ãããã¡ãããèªèãå¯èœãªå Žåã¯ãããã€ã¹ã®é»æºãå ¥ããŠé³å£°èªèãè¡ãããšãã§ããŸãã
supportOnDeviceRecognitionããããã£ããããiOS 13以éã§äœ¿çšã§ããŸãããã ãããã®ããããã£ã¯æ£ããæ©èœããŸãããå³äžã«ãšã©ãŒã®ã¹ã¯ãªãŒã³ã·ã§ããã瀺ããŸããããã°ã¯13.2ã§ã®ã¿ä¿®æ£ãããŸãããããããã£ã¯ãæåã®èŠæ±ã§åžžã«falseãè¿ããŸãã Appleã«ãããšãæ°ç§åŸã«æ£ããå€ãè¿ãããŸãã
ããã«ããã®ããããã£ã¯falseãäžããå¯èœæ§ããããŸãããåæã«requiresOnDeviceRecognitionãã©ã°ãtrueã«èšå®ãããšæ£åžžã«æ©èœããŸããããã¯ããã®ãã¹ããã©ã°ãfalseãè¿ããå Žåã§ããèªèãããã€ã¹äžã§å®å šã«æ©èœããããšãæå³ããŸãã
ããã«ã¯ããã€ãã®è§£æ±ºçããããããããŸããããŸããiOS13.2ã§ã®ã¿ãªãã©ã€ã³èªèãè¡ãããšãã§ããŸããæ¬¡ã«ãç¹å®ã®ç§æ°ãéžæããŠããã®ããããã£ãåèŠæ±ãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãæŽæ°ã§ããŸãããããŠç¬¬äžã«ããã®ããããã£ãå¿ããããšãã§ããŸãããªãã©ã€ã³ã§é³å£°ãèªèããŠã¿ãŠãã ããããšã©ãŒãçºçããå Žåã¯ããŠãŒã¶ãŒã«è¡šç€ºããŠãã ããã
ãªãã©ã€ã³é³å£°åæããã±ãŒãžãæç€ºçã«ããŠã³ããŒãããæ¹æ³ãæ€èšããiOSã«ãªãã©ã€ã³é³å£°èªèããã±ãŒãžãããŠã³ããŒããããæ¹æ³ãèŠã€ããŸããã
ããã§ãé³å£°ã®åæãšèªèãã¢ããªã±ãŒã·ã§ã³ã«ãã°ãã远å ããæ¹æ³ãããããŸãããç§ã¯ãã¹ãŠãæã£ãŠããŸããããªãã®æ³šæã«æè¬ããŸãã