çµéšè±å¯ãªåéçºè ã«ã¯ã䜿ãæ £ããããŒã«ã»ããããããäœæ¥ã«äŸ¿å©ã§ãã ããã¯ãæãåçŽãªç°å¢èšå®ãäžéæäœçšã®ãŠãŒãã£ãªãã£ïŒããšãã°ãPostman APIãã¹ãã¢ã·ã¹ã¿ã³ãïŒãã©ã€ãã©ãªã®éçºè ãšã¹ããããã«ãã£ãŠã¿ã€ã ãã¹ããããå人çã«éçºããããã®ã§ãã
ãŸããå€ãã®éçºè ã¯ãéžæããã¢ãŒããã¯ãã£ã®å®è£ ã«å¯Ÿããç¬èªã®ã¢ãããŒããæã£ãŠããå ŽåããããŸãã ãããã£ãŠãæ°ããã¢ãžã¥ãŒã«ãç»é¢ãããã³æ©èœãè¿œå ããã ãã§ããå ±éã®ã¹ã±ã«ãã³ã§ãããæŠåšåº«ã§ã¢ããªã±ãŒã·ã§ã³ã空çœã«ããããšã¯éåžžã«äŸ¿å©ã§ãã ãã®èšäºã§ã¯ãXcodeã§ç¬èªã®ã¢ããªã±ãŒã·ã§ã³ãã³ãã¬ãŒããäœæããæ¹æ³ã玹ä»ããŸãã
ãã³ãã¬ãŒãã®äžå¿ã¯ã©ãã§ãã
ã©ã®ãããã®é »åºŠã§ã¢ããªã±ãŒã·ã§ã³ãäœæããåãã³ãŒããäœåºŠãç¹°ãè¿ããŠäœæããå°æ¥ã®è£œåã®åºç€ãäœæããŸããïŒ åºæ¬ã¯ã©ã¹ã宣èšãããã«ããŒãäœæããã¢ãŒããã¯ãã£ãé 眮ããã©ãããŒãäœæããŸã...ãã®ãããªç¬éã«ãé©åã«éçºãããã¢ãŒããã¯ãã£ãšãããªãéçºã®ããã®èšè¿°ãããããŒã¹ãåããäœæ¥ã¢ããªã±ãŒã·ã§ã³ãå³åº§ã«ååŸããããŒã«ãå¿ èŠã§ãã
ãã®ãããªããŒã«ãååšããXcodeã§ãã·ã³ã°ã«ãã¥ãŒã¢ããªããäœæãããšãã«ãç§ãã¡ã¯åžžã«ããã䜿çšããŸãã
ç¬èªã®ãã³ãã¬ãŒããäœæããããã®Appleããã®æ瀺ã®æ€çŽ¢ã¯å€±æããŸããã ãã ããXcodeã§ã¯ããã§ã«æºåãããã³ãŒãã䜿çšããŠç¬èªã®ãã¡ã€ã«ã®çæãè¿œå ã§ããŸãããããã¯é£ãããããŸããã
ç°¡åã«å§ããããã«ãããç¥ãããŠããã·ã³ã°ã«ãã¥ãŒã¢ããªãèŠãŠã¿ãŸãããã Finderã«ç§»åããŠãããŒã®çµã¿åããCmd + Shift + GïŒãã©ã«ããŒã«ç§»åïŒãæŒãããã¹ãæå®ããŸãã
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iOS/Application
ããã§ãSingle View App.xctemplateããèŠã€ããŠãããšãã°ãã¹ã¯ãããã«ã³ããŒããŸãã
ã芧ã®ãšããããã³ãã¬ãŒãã¯4ã€ã®ãã¡ã€ã«ã®ã¿ã§æ§æãããŠããŸãã
- Main.storyboardã ã¡ã€ã³ãã¥ãŒã³ã³ãããŒã©ãŒãå«ãã¹ããŒãªãŒããŒãã
- TemplateIcon.pngã 48x48ã®è§£å床ã®ã¢ã€ã³ã³ã
- TemplateIcon@2x.pngã 96x96ã®è§£å床ã®ã¢ã€ã³ã³ã
- TemplateInfo.plistã ãã³ãã¬ãŒãã®æ§æãã¡ã€ã«ã
ããã§éèŠãªåœ¹å²ãæããã®ã¯ããã¹ãŠã®èšå®ãå«ãŸããŠãããããæåŸã®ãã¡ã€ã«TemplateInfo.plistã ãã§ãã Main.storyboardã¯ããã®ãã³ãã¬ãŒãã䜿çšããŠäœæãããåã¢ããªã±ãŒã·ã§ã³ã«è¿œå ãããå¯èœæ§ã®ãããã¡ã€ã«ã®1ã€ã«ãããŸããã ãã®ãªã¹ãã«2çªç®ãš3çªç®ã®ãã¡ã€ã«ããªãå Žåããã³ãã¬ãŒãã«ã¯ããã©ã«ãã®ã¢ã€ã³ã³ããããŸãã ãããã£ãŠããã³ãã¬ãŒãã®äžå¿ã¯TemplateInfo.plistã§ãã
æ§æãã¡ã€ã«ã®åºæ¬ããããã£
åŸæ¥ãTemplateInfoããããã£ã¯ããã€ãã®ã«ããŽãªã«åé¡ã§ããŸãã
1. ãã³ãã¬ãŒãã®ããŒã¯ã¢ãã
Xcodeç°å¢ã§è¡šç€ºãããã³ãã¬ãŒããšè¿œå ãã£ãŒã«ãã«äžæã®èå¥åãå²ãåœãŠãŸãã
å¿ é ãã£ãŒã«ãïŒ
- èå¥å
äžæã®èå¥åã åãIDãæã€2ã€ã®ãã³ãã¬ãŒãã¯åæã«ååšã§ããŸããã ä»ã®ãã³ãã¬ãŒãã®ç¶æ¿ã«ã䜿çšãããŸãã
- çš®é¡
ãã³ãã¬ãŒãã®ã¿ã€ãã ãããžã§ã¯ãã®å ŽåãXcode.Xcode3.ProjectTemplateUnitKindãåžžã«äœ¿çšãããŸãã
- ã³ã³ã¯ãªãŒã
æ°ããã¢ããªã±ãŒã·ã§ã³ãäœæãããšãã«ãã³ãã¬ãŒãããªã¹ãã«è¡šç€ºãããã©ããã瀺ããã£ãŒã«ãã å¥ã®ãã³ãã¬ãŒãããåŒã³åºãããããèªäœãç¬ç«ããŠããªãå Žåã¯ãNOãèšå®ããã®ãçã«ããªã£ãŠããŸãã ãã以å€ã®å Žåã¯ãåžžã«YESãèšå®ããŠãã ããã
ãªãã·ã§ã³ã®ãã£ãŒã«ãïŒ
- ãã©ãããã©ãŒã
ãã³ãã¬ãŒãã䜿çšãããã©ãããã©ãŒã ã決å®ããŸãã ä»ã®ãã©ãããã©ãŒã ã®ãã³ãã¬ãŒãã®ç¶æ¿ãé²ãããã«ã®ã¿æçšã§ãïŒããšãã°ãiOSã®ãã³ãã¬ãŒããWatchOSã®ãã³ãã¬ãŒãã«ã€ã³ããŒãããããšããå ŽåïŒã
- åå
ãã³ãã¬ãŒãã®è¡šç€ºåã ããã©ã«ãã®ãã£ã¬ã¯ããªåã¯* .xctemplateã§ãã
-SortOrder
ã·ãªã¢ã«çªå·ã ãã®ãããªãã£ãŒã«ãããªãå ŽåãæåŸãšèŠãªãããŸãã
- 説æ
ãã³ãã¬ãŒãã®èª¬æã Xcodeã§ã¯ãææ°ããŒãžã§ã³ã¯è¡šç€ºãããŸããã
2.ç¶æ¿
Xcodeã®ãã³ãã¬ãŒãã«ã¯éåžžã«äŸ¿å©ãªããããã£ããããŸããä»ã®ãã³ãã¬ãŒãã®ããããã£ãšãã¡ã€ã«ãå«ããããšãã§ããŸãã ãã¡ã€ã«ãå床ã³ããŒããããæ§æãã¡ã€ã«ãç·šéãããããã«ãå¥ã®æ©èœãè¿œå ããŠãã³ãã¬ãŒããæ¡åŒµããå¿ èŠãããå Žåã«éåžžã«åœ¹ç«ã¡ãŸãã çŽæ¥ã®äŸãã¯ãOOPã®ç¶æ¿ã§ãã
3.å ç¥
ããããã£ãšãã¡ã€ã«ããããžã§ã¯ãã«å«ãŸããèå¥åãã³ãã¬ãŒãã®ãªã¹ãã
4.ã³ã³ãã³ãçæ
æ¢è£œã®ãã¡ã€ã«ã䜿çšããããèšå®ã§äžä»£ãç»é²ããããšã«ãããæ°ããã¢ããªã±ãŒã·ã§ã³ã«å ¥åã§ããŸãã
PSãããžã§ã¯ãã¯Objective-CãšSwiftã®äž¡æ¹ã䜿çšããŠäœæã§ããããããã¡ã€ã«çæã¯ç°ãªãèšèªã«å¯ŸããŠåå¥ã«ç»é²ããå¿ èŠãããããšã«çæããå¿ èŠããããŸãã
ãããè¡ãããã«ãOptionsãã£ãŒã«ããäœæãããŸããããã¯é åã§ãã æåã®èŠçŽ ãšããŠãèŸæžãäœæãã2ã€ã®ããŒãäœæããŸãã æåã¯ãå€ããlanguageChoiceãã®Stringåã®èå¥åã§ãã 2çªç®ã¯Unitsã§ããããã¯èŸæžã§ãã Unitsã§ã¯ããããããObjective-CããšãSwiftããšããååã®2ã€ã®èŸæžãäœæããŸãã åŸç¶ã®ãã¹ãŠã®å®çŸ©ãšããŒãã¯ããããã®ãã£ã¬ã¯ããªå ã«é 眮ãããŸãã èšèªãã€ã³ãã£ã³ã°ããªãå ŽåïŒããšãã°ãxibãã¹ããŒãªãŒããŒããè¿œå ããããŸãã¯ãã¡ã€ã«ã«ã³ã³ãã³ããæžã蟌ãå ŽåïŒãå®çŸ©ãšããŒããä»ã®ãã©ã¡ãŒã¿ãŒã䜿çšããŠåãã¬ãã«ã§å®£èšã§ããŸãã
5.å®çŸ©
ããã§ãã³ãŒãçæã宣èšãããã¢ããªã±ãŒã·ã§ã³ã«è¿œå ããããã¡ã€ã«ãžã®ãã¹ãç»é²ãããŸãã
å®çŸ©ã¯é£æ³é åã§ããã¡ã€ã«ãŸãã¯å€æ°ã®ãªã¹ããå«ãŸããŠããŸãã åæ§ã«ãåãã¡ã€ã«ã¯é£æ³é åã§ãããããã¡ã€ã«ãžã®ãã¹ãå«ãŸããŠããŸãã ãã¹ãšã°ã«ãŒãã®2ã€ã®ããããã£ã§æ§æã§ããŸãã
Path-.xctemplateãã£ã¬ã¯ããªã«ãããã¡ã€ã«ãžã®çŽæ¥ãã¹ã
ã°ã«ãŒã-é åãåèŠçŽ ã¯æå®ããããã¹ã®ãã£ã¬ã¯ããªã§ãã ãã¡ã€ã«èªäœã¯æå®ãããŠããŸããã
ããšãã°ããã¡ã€ã«ã«ã¯ãã¹ããããŸãã
Presentation/Common/ViewController/Base/ViewController.swift
次ã«ããã®å®çŸ©ã¯æ¬¡ã®ããã«ãªããŸãã
ãããã£ãŠããã¡ã€ã«ã«ãã¹ãããªããçŽæ¥.xctemplate /ã«ããå Žåãã°ã«ãŒãé åã¯äœæãããŸããã
6.ããŒã
ãã¡ã€ã«ã®å Žæã®ãã¹ãæå®ããããäœæãããã¡ã€ã«ãŸãã¯ã³ã³ãã³ãã®ãããããæããªã³ã¯ãäœæããå¿ èŠããããŸãã Nodesã¯ããã®èŠçŽ ãDefinitionsã®ããŒã§ããéåžžã®é åã§ãã äžèšã®äŸã§ã¯ãããŒãã¯æ¬¡ã®ããã«ãªããŸãã
TemplateInfo.plistå ã®ã³ãŒãçæ
TemplateInfo.plistã§äœæããããã¡ã€ã«ã«ã³ãŒããè¿œå ããã«ã¯ãDefinitionsã§èšè¿°ããNodesã§ãã€ã³ãããŸãã ããã¯ããã¡ã€ã«ãæå®ããåŸã«ãïŒãæŒç®åã䜿çšããŠè¡ããããã®åŸã«ã³ãŒããæžã蟌ãŸããŸãã ããšãã°ãæšæºã®ãããŒãžããŒã¹ã®ã¢ããªããã³ãã¬ãŒãã§ã¯ãå€ãã®ã³ãŒãçæãå®çŸ©ã§èª¬æãããŠããããšãããããŸãã
ãã¡ã€ã«å ã®ã³ãŒãã®é åºã¯ãNodesé åå ã®ãªã³ã¯ã®é åºã«ãã£ãŠç°ãªããŸãã æå®ããããã¡ã€ã«ãååšããªãå ŽåãäœæãããŸãã
次ã®å®æ°ã¯ãäºåã«äœæããããã¡ã€ã«ããã³TemplateInfo.plistå ã§æ©èœããŸãã
___èäœæš©___èäœæš©ã®è¡
___DATE___ãããžã§ã¯ãã®äœææ¥ïŒãã¡ã€ã«ïŒ
___DIRECTORY___ãã¡ã€ã«ãžã®ãã«ãã¹
___FILEBASENAME___æ¡åŒµåãªãã®ãã¡ã€ã«å
___FILEEXTENSION___ãã¡ã€ã«æ¡åŒµå
___FILENAME___å®å šãªãã¡ã€ã«å
___FULLUSERNAME___ã·ã¹ãã ã§èš±å¯ãããŠãããŠãŒã¶ãŒã®åå
___ORGANIZATIONNAME___ãããžã§ã¯ãã®äœææã«æå®ãããçµç¹ã®åå
___PACKAGENAME___ / ___PROJECTNAME___ãããžã§ã¯ãã®äœææã«æå®ããã補åå
___TIME___ãããžã§ã¯ããäœæãããæå»ïŒãã¡ã€ã«ïŒ
___USERNAME___èš±å¯ãŠãŒã¶ãŒã¢ã«ãŠã³ãå
ã¢ããªã±ãŒã·ã§ã³èšå®ã®ç·šéãŠã£ã³ããŠ
ãã³ãã¬ãŒããäœæãããšããã¢ããªã±ãŒã·ã§ã³èšå®ãŠã£ã³ããŠãç·šéããããšãã§ããŸãããã®ãŠã£ã³ããŠã¯ããã®ãã³ãã¬ãŒããåŒã³åºããããšãã«è¡šç€ºãããŸãã
ããšãã°ããã·ã³ã°ã«ãã¥ãŒã¢ããªãã®å ŽåãAppleã¯éçºè ã®ååãšçµç¹ã®ååãå ¥åããããã®ããã€ãã®ããã¹ããã£ãŒã«ããåäœãã¹ããããžã§ã¯ããŸãã¯CoreDataã«å«ããããã®ããã€ãã®ãã§ãã¯ããã¯ã¹ãããã³ããã°ã©ãã³ã°èšèªãéžæããããã®ããããããŠã³ãªã¹ããæäŸããŸãã ãããã¯ãã¹ãŠããªãã·ã§ã³ãã£ãŒã«ãïŒèŸæžããã®é åïŒã«ãã£ãŠèŠå¶ãããŸãã 次ã®æ©èœã®ãªã¹ãã¯ãåãªãã·ã§ã³ã§äœ¿çšã§ããŸãã
- èå¥å
ãªãã·ã§ã³ãã£ãŒã«ãã«æ ŒçŽãããŠããå€ãå€æŽãŸãã¯äœ¿çšã§ããèå¥åã
- ããã©ã«ã
ãã®ãã£ãŒã«ãã«ããã©ã«ãã§äœ¿çšãããå€ã
-SortOrder
ãã®ãªãã·ã§ã³ããŠã£ã³ããŠã«è¡šç€ºãããã·ãªã¢ã«çªå·ã
- ãªã
ãªãã·ã§ã³ã®ã¿ã€ãã«ã
- ã¿ã€ã
äœæãããã£ãŒã«ãã®ã¿ã€ãã 次ã®ãã£ãŒã«ãã¿ã€ãã䜿çšã§ããŸãã
- éç éçã§ç·šéã§ããªãããã¹ãã æå³ã®é¢ã§ã¯-ã©ãã«ã«ãããŸããã
- ãã§ãã¯ããã¯ã¹ éåžžã®ãã§ãã¯ããã¯ã¹ã ããã¯åºæ¬çã«Boolãã£ãŒã«ãã§ãããããtrueããã³falseã®å€ã«å¯Ÿå¿ããã¢ã¯ã·ã§ã³ã®ã»ãããå«ãUnitsãå®çŸ©ããããšãå¿ èŠã§ãã 䜿çšäŸã¯ãã³ã¢ãã³ãã¬ãŒããCore Data Cocoa Touch App.xctemplateãã«ãããŸããããã«ã€ããŠã¯ããã³ãã¬ãŒãã®äœæã«é¢ããã»ã¯ã·ã§ã³ã§èª¬æããŸãã
- ããã¹ã ããã¹ããå ¥åããããã®ãã£ãŒã«ãã
- ãããã¢ããã å€é åã§å®çŸ©ããå¿ èŠãããããããããŠã³ãªã¹ãããéžæãæäŸããŸãã
ã¢ããªã±ãŒã·ã§ã³ãã³ãã¬ãŒããäœæãã
å§ããåã«ããã³ãã¬ãŒãã«åŸã£ãŠäœæãããã¢ããªã±ãŒã·ã§ã³ã§è¡šç€ºãããã³ãŒããèšè¿°ãããã¡ã€ã«ãæºåããå¿ èŠããããŸãã ãŸã èªåã®åšåº«ãæã£ãŠããªãå Žåã¯ãç§ã®ãã®ãåãããšãã§ããŸãã ããã¯ãã©ã€ãã©ãªã䜿çšããªãMVVMã®æãåçŽãªå®è£ ã§ãã ããã«ã¯å€ãã®ãã¡ã€ã«ã¯ãããŸããããäŸãšããŠã¯ååã§ãã ãããã®äŸã䜿çšããŠããã³ãã¬ãŒãã®ãããªãäœæãåæããŸãã
ãŸããäœæãããã³ãã¬ãŒããä¿åããããã£ã¬ã¯ããªãäœæããŸãã ãããè¡ãã«ã¯ãã³ã³ãœãŒã«ã§ã³ãã³ããå®è¡ããŸã
$ mkdir -p ~/Library/Developer/Xcode/Templates/Project\ Templates/Private
Xcodeã¯ããã®ãã¹ã«æ²¿ã£ãŠã¢ããªã±ãŒã·ã§ã³ãã³ãã¬ãŒããæ€çŽ¢ããŸãã ãã©ã€ããŒããã©ã«ããŒã«èªç±ã«ååãä»ããããšãã§ããŸããäž»ãªããšã¯ããã®ãã¹ã«æ²¿ã£ãŠé 眮ãããããšã§ãã ãã®ãããªãã£ã¬ã¯ããªã¯è€æ°ååšããå ŽåããããŸããããããã«å«ãŸãããã³ãã¬ãŒãã«ã¯ç°ãªãèå¥åãå¿ èŠã§ãã ãã以å€ã®å Žåã1ã€ãé€ããã¹ãŠã®ãã£ã¬ã¯ããªã«ãããã³ãã¬ãŒãã®ååšã¯ç¡èŠãããŸãã
以åã«ã³ããŒãããSingle View App.xctemplateãã¯ãMVVM Application.xctemplateãã«ååãå€æŽããããã©ã€ããŒããã©ã«ããŒã«ã³ããŒãããŸãã Xcodeãèµ·åããŠæ°ããã¢ããªã±ãŒã·ã§ã³ãäœæããã¡ãã¥ãŒã«ç§»åãããšã1ã€ã®ãMVVMã¢ããªã±ãŒã·ã§ã³ããã³ãã¬ãŒããããæäžéšã«æ°ãããã©ã€ããŒãã»ã¯ã·ã§ã³ãæ¢ã«è¡šç€ºãããŠããŸãã ãŸã äœãå€æŽããŠããªãã®ã§ã䜿çšãããšåãã·ã³ã°ã«ãã¥ãŒã¢ããªãååŸãããŸãïŒã¡ãªã¿ã«ãããã¯åãèå¥åãæã€ãããåºæ¬çãªã¢ããªã®ãªã¹ãããæ¶ããŸããïŒã
次ã®ã¹ãããã§ã¯ããã¬ãŒã³ããŒã·ã§ã³ãã©ã«ããŒãš2ã€ã®ã¢ã€ã³ã³ãã¡ã€ã«TemplateIcon.pngããã³TemplateIcon@2x.pngã移åããŸãã 次ã«ãXcodeããã³ãã¬ãŒãããŸã£ããæ°ãããã®ãšããŠèªèã§ããããã«ãèå¥åãå€æŽããå¿ èŠããããŸãã ããšãã°ãèå¥åããMVVMTemplateããšããŠå®çŸ©ããŸãã Xcodeã§æ°ããã¢ããªã±ãŒã·ã§ã³ãäœæãããšããSingle View Appããå ã®å Žæã«æ»ããPrivateã»ã¯ã·ã§ã³ã§ãMVVM Applicationããã¢ã€ã³ã³è¡šç€ºã«æ»ããŸãã
次ã«ãSingle Viewã¢ããªãã©ã®ãã³ãã¬ãŒãããç¶æ¿ããããèŠãŠã¿ãŸãããã TemplateInfo.plistãéããå ç¥ã«ç§»åããŸãã
com.apple.dt.unit.storyboardApplication
com.apple.dt.unit.coreDataCocoaTouchApplication
ãã·ã³ã°ã«ãã¥ãŒã¢ããªããšåãå Žæã«ããããã®èå¥åãæã€ãã³ãã¬ãŒãããããŸãã é çªã«æŽçããŸãããã
æåã®ãStoryboard App.xctemplateããã³ãã¬ãŒãã«ã¯ãå®çŸ©ãã¡ã€ã«ãšããŒããã£ãŒã«ãã衚瀺ã§ããæ§æãã¡ã€ã«ã®ã¿ãå«ãŸããŠããŸãã Main.storyboardãã¡ã€ã³ã¹ããŒãªãŒããŒããšããŠäœ¿çšããããã®ãã¹ã瀺ãããããšãèŠå®ãããŠããŸãã ããã¯å¿ èŠãããŸããããªããªã ã¡ã€ã³ã¹ã¯ãªãŒã³ãšããŠäœ¿çšããMainScreen.storyboardãã¡ã€ã«ãæ¢ã«ãããŸãã ãããã£ãŠããStoryboard App.xctemplateããã³ãã¬ãŒããç¥å ããåé€ããŸãã
次ã«ããCore Data Cocoa Touch App.xctemplateããã³ãã¬ãŒããç»å ŽããŸãã CoreDataã䜿çšããããã®ãªãã·ã§ã³ã«ãã§ãã¯ããã¯ã¹ãã£ãŒã«ããè¿œå ãããUnitsãã£ãŒã«ãã«ã¯ãã¹ãŠã®å¿ èŠãªã³ãŒãçæãš___ PACKAGENAMEASIDENTIFIER ___ãXcdatamodeldãã¡ã€ã«ã®ã€ã³ããŒããå«ãŸããŸãã CoreDataãå¿ èŠãªããšä»®å®ãããã®èŠªãåé€ããŸãã
ããããããã«åé¡ããããŸãããã³ãã¬ãŒãã«åŸã£ãŠã¢ããªã±ãŒã·ã§ã³ãäœæããããšãããšããªã¹ãã«è¡šç€ºãããªããªããŸãã äºå®ãåé€ãã芪ã«ã¯ãç¥å ãªã¹ãããããŸãããããã«ã¯ãcom.apple.dt.unit.cocoaTouchApplicationBaseãšããèå¥åãæã€å¿ èŠãªCocoa Touch App Baseãã³ãã¬ãŒããå«ãŸããŠããŸããã ããããã³ãã¬ãŒãã®ç¥å ãªã¹ãã«è¿œå ãããšãå©çšå¯èœãªãã®ã®ãªã¹ãã«åã³æ»ããŸãã ãã®åºæ¬çãªãã³ãã¬ãŒããæ éã«æ€èšããã®ã§ããªããããå¿ èŠãªã®ããç解ã§ããŸãã
次ã«ãã³ããŒãããã¡ã€ã«ã®ãã¹ãŠã®ãã¹ãšãªã³ã¯ãæžãçããŸãããã ã³ãŒãã¯Swiftåãã«æžãããŠãããããããã¯åœŒã®ã¿ã«è¡ããŸãã
[ãªãã·ã§ã³]-> [languageChoiceïŒã¢ã€ãã 0ïŒ]-> [ãŠããã]-> [Swift]ã«ç§»åããå®çŸ©ãšåŒã°ãããã£ã¯ã·ã§ããªãäœæããŸãã 次ã«ãæã£ãŠãããã¡ã€ã«ãžã®ãã¹ãŠã®ãã¹ãæžãåºããŸãã
Presentation/Common/View Controller/Base/ViewController.swift
Presentation/Common/View Model/Base/ViewModel.swift
Presentation/Common/View Model/ViewModelHolder.swift
Presentation/Main Screen/MainScreen.storyboard
Presentation/Main Screen/View Controller/MainViewController.swift
Presentation/Main Screen/View Model/MainViewModel.swift
次ã®ãªã¹ããååŸããŸãã
Nodesãªã³ã¯ã«å ¥åãããšã次ã®ããã«ãªããŸãã
æåŸã®ä»äžããè¿œå ããããã«æ®ã£ãŠããŸã-MainScreen.storyboardãã¡ã€ã³ã®1ã€ãšããŠçœ®ããŸãã ãã¡ã€ã«å šäœã®å®çŸ©ãšããŒããäœæãã次ã®ãã£ãŒã«ãããããã«è¿œå ããŸãã
å®çŸ©ïŒ
ããŒ
Info.plistïŒUIMainStoryboardFile
䟡å€
<key>UIMainStoryboardFile</key> <string>MainScreen</string>
ããŒãïŒ
Info.plistïŒUIMainStoryboardFile
次ã®ãã®ãåŸãããŸãã
æ·»ä»ã®äŸã§ã¯ãTemplateInfo.plistãã¡ã€ã«ã®æ¢è£œããŒãžã§ã³ããããŸãã
ãã®èšäºã§ã¯ããã³ãã¬ãŒããšãã¡ã€ã«ãäœæããããã®ãã¹ãŠã®æ©èœã«ã€ããŠã¯èª¬æããŸããã ããã«åãŸãããã«ãåãã©ã¡ãŒã¿ãŒã®èª¬æã¯åã«äžå¯èœã§ãã ãã®ããããµã³ãã«ãå«ãŸãããªããžããªã«ããã¥ã¡ã³ãïŒéå ¬åŒïŒãé 眮ããŸãããªããžããªã«ã¯ããã¹ãŠã®æ©èœãèšè¿°ãããæ¢åã®ãã©ã¡ãŒã¿ãŒããã¹ãŠãªã¹ããããŠããŸãïŒXcode 4ã®ååšæç¹ïŒã ã»ãšãã©ã®æ©èœã¯ãAppleã®åºæ¬çãªãã³ãã¬ãŒããæãäžããŠç解ãããšåæã«ãå®è£ ã確èªã§ããŸãã åçŽãªãã³ãã¬ãŒããç°¡åã«äœæããããã«å¿ èŠãªæå°å€ã«ã€ããŠèª¬æããŸããã
ã³ã¡ã³ããè¿œå ãããå Žåã¯ããã®æçšæ§ãé«ããããã«ãããããèããŠèšäºãè£è¶³ããããšãå¬ããæããŸãã