nsurlsessiondã¯å®éã«ã¯äœã§ããïŒ
nsurlsessiondã¯macOSã«æšæºæèŒãããŠããã·ã¹ãã ããŒã¢ã³ã§ãAppleã«ãã£ãŠã³ãŒã眲åãããŠããŸããããã¯NSURLSessionã®ããã¯ã°ã©ãŠã³ã転éãšãŒãžã§ã³ãã§ãããAppleãã©ãããã©ãŒã äžã®ã¢ããªããµãŒããŒãšéä¿¡ããããã«äœ¿çšããæšæºçãªãããã¯ãŒãã³ã°APIã§ãã
ååã¯çè§£ããããåè§£ã§ããŸããNSURLSessionã¯APIã§ãæ«å°Ÿã®dã¯Unixã®æ £äŸã§ããããŒã¢ã³ãã€ãŸããŠã£ã³ããŠãããã¯ã¢ã€ã³ã³ã®ãªãããã¯ã°ã©ãŠã³ãããã»ã¹ãæå³ããŸããããã¯ããªãã§ã¯ãªãã·ã¹ãã ã«ãã£ãŠèµ·åãããäœæ¥ããã¥ãŒã«å ¥ããšåäœããŸãã
éèŠãªã®ã¯ãããã¯ã°ã©ãŠã³ãããšããèšèã§ããéçºè ãNSURLSessionã䜿çšãããšãããŠã³ããŒããã¢ããããŒããããã¯ã°ã©ãŠã³ã転éãšããŠããŒã¯ã§ããããã«ããã¢ããªèªäœã察å¿ã§ããªãç¶æ³ã§ã転éãç¶ç¶ãããŸããããšãã°ããŠãŒã¶ãŒãã¢ããªãçµäºããããã¢ããªãäžæåæ¢ããããã¯ã©ãã·ã¥ãããããã·ã³ãæŸçœ®ãããå Žåã§ãã§ããmacOSã¯ãããå°éãã転éãnsurlsessiondã«å§ããåŸã§ã¢ããªã«éç¥ããå¿ èŠã«å¿ããŠåèµ·åããŠçµæãå±ããŸããããããApp Storeã®ããŠã³ããŒãããŠã£ã³ããŠãéããåŸãé²è¡ãç¶ããããããããã£ã¹ãã®ãšããœãŒããå°çãçµãããŸã§ã¢ããªãå床éããªããŠãå®äºããçç±ã§ãã
è¿ãã«nsurlstoragedãããèŠãããã§ããããããã¯URLã»ãã·ã§ã³ããŒã¿ã®ã¹ãã¬ãŒãžãæ±ãAppleã®é¢é£ããŒã¢ã³ã§ããã£ãã·ã¥ãããã¬ã¹ãã³ã¹ãã¯ãããŒãªã©ã管çããŸãããã¡ããæ£åžžãªåäœã§ããããã¯ãŒã¯ã¢ã¯ãã£ããã£ã¯å°ãªããã¹ãã¬ãŒãžåŽã«ä»äºãéäžããŠããŸãã
ãªããã®ãã©ãã£ãã¯ã¯ä»ã®ã¢ããªã®ãã©ãã£ãã¯ãªã®ã
ãããnsurlsessiondã«ã€ããŠçè§£ãã¹ãæãéèŠãªãã€ã³ãã§ãããå€ãã®äººãçå¿µãæ±ãçç±ã§ããnsurlsessiondã«åž°å±ãããã©ãã£ãã¯ã¯ãå®éã«ã¯ä»ã®ã¢ããªã«å±ããŠããŸãã ããã¯å ±æã®å® é 䟿ã®ãããªãã®ã§ã誰ããèŠæ±ããè·ç©ãéã³ããã®è·ç©ã¯ããèªäœã«å®ãŠãããŠããŸããã
ããšãã°ãPhotosãç»åã®ããããiCloudã«ã¢ããããŒããããšããã®ãã€ãã¯nsurlsessiondãéããŠéä¿¡ãããŸããApp Storeãæ°ã®ã¬ãã€ãã®ã¢ããããŒããããŠã³ããŒããããšããåæ§ã§ãããµãŒãããŒãã£ã®ã¯ã©ã€ã¢ã³ãããã¡ã€ã«ãåæãããã¡ãã£ã¢ãäºåãã£ãã·ã¥ãããããå Žåããã»ãšãã©åãã§ããããããã¹ãŠã®ãã©ãã£ãã¯ã¯äžã€ã®ããã»ã¹ã«ãã£ãŠéãããäžã€ã®ããã»ã¹ã«åž°å±ããäžã€ã®ååã®äžã«è¡šç€ºãããŸãã
Activity Monitorãããœã±ãããææããããã»ã¹ã ãã§ãã©ãã£ãã¯ãèå¥ããããŒã«ã¯ããããè§£ãæããããšã¯ã§ããŸããããããã¯OSã¬ãã«ã§ã®çå®ãå ±åããŸãïŒæ¥ç¶ã¯nsurlsessiondã«å±ããŠããŸããããããå転éã®èåŸã«ãããªã¯ãšã¹ãã¢ããªã瀺ãããšã¯ã§ããŸããããªããªãããã®é¢ä¿ã¯ãœã±ããã®äžã®å±€ã«ååšããŠããããã§ããçµæãšããŠã1ã€ã®è¡ã«èŠããã®ã¯ãå®éã«ã¯è€æ°ã®ã¢ããªã®äœæ¥ãäžã€ã®ã©ãã«ã§ç€ºããŠããã«éããŸããã
ãããã£ãŠãnsurlsessiondã®ã¢ã©ãŒã ã®å€§éšåã¯èª€ã£ãåž°å±ã«ãããã®ã§ããã誀ã£ãåäœã§ã¯ãããŸãããããããªããããªãAppleã®ããŒã¢ã³ã40ã®ã¬ãã€ãã®ããŠã³ããŒããå¿ èŠãšããã®ãçåã«æã£ãŠãããªããããã¯ããã§ã¯ãªãã£ããšããããšã§ããããªãã®MacããããèŠæ±ããã®ã§ãã
ããã«ãããããŒã¢ã³ãåžžã«åäœããŠããããã«èŠããçç±ã説æã§ããŸããããã¯èªåèªèº«ã®æä¹ çãªæ¥ç¶ãç¶æããŠããããã§ã¯ãããŸããã転éããã¥ãŒã«å ¥ããšèµ·åããäœæ¥ãè¡ããéãã«ããŸããåçãããã¥ã¡ã³ããã¡ãŒã«ã®æ·»ä»ãã¡ã€ã«ãã¢ããªã®ã¢ããããŒããåæããŠãããã·ã³ã§ã¯ãã»ãŒåžžã«äœãããã¥ãŒã«å ¥ã£ãŠããŸãã
nsurlsessiondã¯å®å šãªã®ãããããŠèªåã§ç¢ºèªããæ¹æ³
nsurlsessiondã¯ãã«ãŠã§ã¢ã§ã¯ãããŸããã ããã¯macOSã®ãã¡ãŒã¹ãããŒãã£ã³ã³ããŒãã³ãã§ããããã¹ãŠã®çŸè¡Macã«ååšããåé€ãç¡å¹åããŸãã¯ãŠãŒãã£ãªãã£ã«ããã¯ãªãŒã³ã¢ããã®å¿ èŠã¯ãããŸããã
ç念ã®èåŸã«ããåççãªæ³šæç¹ã¯ããã«ãŠã§ã¢ãã·ã¹ãã ããã»ã¹ã«äŒŒãååãæ¡çšããããã»ã¹ãªã¹ãã®çŽ æ©ã確èªã§ééãããããšããããšã§ããTerminalã§ã®2ã€ã®ãã§ãã¯ã¯ãããæã¡ç Žãããããã¯ã©ããªããã»ã¹ã«ã圹ç«ã€ç¥èã§ãã
æåã®ãã§ãã¯ã¯å Žæã§ããpgrepã³ãã³ããš-lfãã©ã°ã䜿ãããã¿ãŒã³ãšããŠnsurlsessiondãæå®ããŠãå®è¡äžã®ãã€ããªã®å Žæã確èªããŸããæ£èŠã®ããŒã¢ã³ã¯ã·ã¹ãã ãã¬ãŒã ã¯ãŒã¯ã®ãã¹å ãCFNetworkãã¬ãŒã ã¯ãŒã¯ã®æ·±ãå Žæã«ãããŸããããŠã³ããŒããã©ã«ããããŒã ãã£ã¬ã¯ããªãæªç¥ã®ã¢ããªã±ãŒã·ã§ã³ãã³ãã«ãããã®ååã䞻匵ããŠãããã®ã¯ãAppleã®ããŒã¢ã³ã§ã¯ãããŸããã
次ã®ãã§ãã¯ã¯ã³ãŒã眲åã§ãã-dvãšè©³çްãã©ã°ãä»ããŠãã€ããªã®ãã¹ã«å¯ŸããŠcodesignãå®è¡ããŸããæ£èŠã®ããŒã¢ã³ã¯Appleã«å±ããèªèšŒãã§ãŒã³ãå ±åããSoftware SigningãšApple Code Signing Certification Authorityã®ååã瀺ããŸãã眲åãããŠããªããã€ããªããæªç¥ã®éçºè ã«ãã£ãŠçœ²åããããã®ã¯ãæžå¿µã®çç±ã«ãªããŸãã
äž¡æ¹ã®ãã§ãã¯ã«åæ Œããã°ããã®ããã»ã¹ã¯æ¬ç©ã§ããããã®åäœã«ã€ããŠã®é©ãã¯ãèåŸã®ã¢ããªãäœæ¥ããã¥ãŒã«å ¥ããŠããããšã«é¢ããçåã§ãã
é«ããããã¯ãŒã¯äœ¿çšéãŸãã¯é«ãCPU䜿çšçïŒç¢ºèªãã¹ãããš
nsurlsessiondã¯åžžã«äœãã®ããã«åäœããŠããã ããªã®ã§ãç°åžžãªæŽ»åã¯çç¶ã§ãããæçšãªèšºæã¯äžæµã«ãããŸããåå ã®å°ããªã»ããã倧倿°ã®ã±ãŒã¹ãå ããŠããŸãã
æãäžè¬çãªã®ã¯iCloudã§ããæ°ããæå¹ã«ããiCloudåçã©ã€ãã©ãªã埩å ããMacããŸãã¯å€§éã®æ°ããã€ã³ããŒãã¯ãã©ã€ãã©ãªã®ãµã€ãºãšæ¥ç¶é床ã«å¿ããŠæ°æéãŸãã¯æ°æ¥ã«ããã£ãŠæç¶çãªãã©ãã£ãã¯ãçæããŸããiCloud Driveã倧ããªãã©ã«ã倿ŽåŸã¯åãããã«åäœããŸããæ¬¡ã«ãApp Storeãç¶ãã倧ããªã¢ããªã®ã¢ããããŒããã·ã¹ãã ã¢ããããŒããããã¯ã°ã©ãŠã³ãã§æ®µéçã«è¡ãããŸããäžçªç®ã¯ãããããã£ã¹ãã¯ã©ã€ã¢ã³ããªã©ã®ã¡ãã£ã¢ã¢ããªãã³ã³ãã³ããäºåãã£ãã·ã¥ããŠããå Žåã§ãè€æ°ã®ãšããœãŒããå åãããŠãã«ããŠããŸãã
å®äŸ¡ããæãè€éãªãã®ãŸã§é çªã«ç¢ºèªããæ¹æ³ã§ãããŸãã忝ã®åè£ããå§ããŸãïŒApp Storeã®ã¢ããããŒããã¥ãŒãšã·ã¹ãã èšå®ãéããã¢ããããŒããããŠã³ããŒãäžãã©ããã確èªããŸãããã®åŸãPhotosãéããã©ã€ãã©ãªãã¥ãŒã®äžéšã«ããã¹ããŒã¿ã¹ã©ã€ã³ãèªã¿åããŸããããã§ã¯åæã®é²è¡ç¶æ³ãšã¢ã€ãã æ°ãå ±åãããŠãããFinderã®iCloud Driveã§ä¿çäžã®ã¢ã€ãã ã確èªããŸããæ¬¡ã«ãæè¿ã€ã³ã¹ããŒã«ãŸãã¯åèšå®ããããã®ãèæ ®ããŸããæ°ãã«è¿œå ãããåæã¯ã©ã€ã¢ã³ãã¯é »ç¹ã«ããªã¬ãŒãšãªãããã§ããæåŸã«ããããåããç¶ããããŠãã ãããçµäºãå®çŸ©ããã転éã¯å®äºããŸãã
é«ãCPU䜿çšçãåãåå ã«è¿œéããŸããæç¶çãªè»¢éã¯ç¶ç¶çãªäœæ¥ãæå³ããã¢ã€ãã«ç¶æ ã®åŸ æ©ã§ã¯ãããŸãããæç¶çãªé«CPU䜿çšçãæå³ã®ããã¹ã«ãŒããããªãã«ç¶ãå Žåã¯çšã§ãããå€ãã®å Žååèµ·åã§è§£æ¶ããŸããããã«ãããããŒã¢ã³ãšãã®ãã¥ãŒããªã»ãããããé·æçãªåœ±é¿ã¯ãããŸããã
é¿ããã¹ããªã®ã¯ãããã¯ã§ãããã¡ã€ã¢ãŠã©ãŒã«ã䜿ã£ãŠnsurlsessiondã®ãããã¯ãŒã¯ã¢ã¯ã»ã¹ãæåŠã§ããŸããããã®çµæãã·ã¹ãã å šäœã®ããã¯ã°ã©ãŠã³ã転éã忢ããéåžžãšã©ãŒããªãåäœããªããªããŸããããŠã³ããŒãã¯å®äºãããiCloudé¢é£ã®åæã¯åæ¢ãã転éãå®äºãããšæåŸ ããŠããã¢ããªã¯ãããèŠã€ããããŸãããã·ã¹ãã å šäœã«ããããã®å€±æã¯é»ã£ãŠè¡ããããããè¯ãéžæã§ã¯ãããŸãããæ£ããæäœã¯ãäœæ¥ããã¥ãŒã«å ¥ããã¢ããªåŽã§è¡ãããšã§ãã
転éããã¥ãŒã«å ¥ããã¢ããªãèŠã€ãã
ããã¯å èµããŒã«ã§ã¯çããããªã質åã§ãïŒå®éã«ããããã¹ãŠãèŠæ±ããã¢ããªã±ãŒã·ã§ã³ã¯ã©ãããActivity Monitorã¯ããã»ã¹ã®å¢çã§æ¢ãŸãããããã®è¡ã¯nsurlsessiondãšè¡šç€ºãããããããå ã¯è¿œè·¡ã§ããŸããã
ããéãã¢ãããŒãã¯ãããã»ã¹åã«é Œãã®ããããŠã代ããã«å®å ã確èªããããšã§ããæ¥ç¶ã¯ã©ããã«åãã£ãŠããããã®ãšã³ããã€ã³ãã¯ãããã»ã¹åã瀺ããªããŠã転éã®èåŸã«ãããµãŒãã¹ãç¹å®ããŸããAppleã®ã³ã³ãã³ãé ä¿¡ãiCloudã®ãšã³ããã€ã³ãã¯ããµãŒãããŒãã£ã®åæãµãŒãã¹ãã¡ãã£ã¢CDNãšã¯æç¢ºã«ç°ãªãããã¡ã€ã³ãèŠãããšã§ãã©ã®ãµãŒãã¹ã«å±ããŠããããæšæž¬ããã«èå¥ã§ããŸãã
ãããNetMuteã®æ žãšãªãéšåã§ãããªã¢ã«ã¿ã€ã ã®ã¢ããªããšããã³ããã»ã¹ããšã®ãã©ãã£ãã¯ã衚瀺ãããã¡ã€ã³ã¬ãã«ã®ãã®ã³ã°ãšçµã¿åãããŠãã©ã®ãšã³ããã€ã³ãã«è»¢éãå°éããŠãããã確èªã§ããŸããããã«ãããå¿åã®è¡ãæç¢ºãªç»åã«å€ãããŸãïŒiCloudã«ã©ãã ãéãããŠããããå é±ã€ã³ã¹ããŒã«ããã¢ããªã«ã©ãã ãéãããŠãããã
ãœãŒã¹ããããã°ãNetMuteã¯ããã«å¿ããå¯ŸåŠæ¹æ³ãæäŸããŸãã責任ã®ããã¢ããªã«å¯ŸããŠãããã¯ãŒã¯ã¢ã¯ã»ã¹ãã¯ã³ã¯ãªãã¯ã§ãããã¯ããããæ¬¡ã®1æéã ãéãã«ãããå Žåã«äžæçãªã«ãŒã«ãèšå®ãããã§ããŸããã¢ããªããšã®ããŒã¿å¶éã¯ãéŸå€ã«éãããšèªåçã«ãããã¯ããŸããããã¯ãã·ãŒãºã³ã®ã³ã³ãã³ããäºåãã£ãã·ã¥ããåäœãããã¢ããªã«é©ããŠããŸãããããã¯ãŒã¯ãããã¡ã€ã«ã¯ãç¶æ³ã«å¿ããŠã«ãŒã«ã倿Žã§ãããããã¡ãŒã¿ãŒä»ããããã¹ãããã«æ¥ç¶ããMacBookã¯ãå®¶åºã§å¿ èŠã®ãªãå¶éã課ãããšãã§ããŸãã
ãããã¯ãã¹ãŠãnsurlsessiondã«è§Šããå¿ èŠã¯ãããŸãããããŒã¢ã³ã¯ãã®ãŸãŸåãç¶ããããã¯ã°ã©ãŠã³ãã®ããŠã³ããŒããiCloudã®è»¢éã¯å®äºãç¶ãããã©ãã£ãã¯ãçæããŠããã¢ããªã ããå¶çŽãåããŸãã