Xcode 파일 정리 Synx

4944 단어 XcodeiOSiPad아이폰
Xcode 그룹에 따라
파일을 정리해 주는 편리 툴을 소개합니다.

링크



설치


$ gem install synx

사용법


$ synx path/to/my/project.codeproj
CocoaPods를 사용하는 경우
먼저 Synx에서 정리한 후$ pod install가는 것이 더 낫습니다.

Advanced



-e 지정된 그룹을 구성하지 않습니다.
-p Xcode로 관리되지 않는 파일 삭제



sh
$ synx -p -e "/MyProject/My Group" -e /MyProject/MyGroup ./MyProject.xcodeproj/

사용 예



새로운 프로젝트를 만들었습니다.
초기 그룹은 이런 느낌이군요.


디렉토리 구성을 tree 명령으로 확인해 봅시다.

sh
$ tree
.
├── MyProject
│   ├── AppDelegate.h
│   ├── AppDelegate.m
│   ├── Base.lproj
│   │   ├── LaunchScreen.xib
│   │   └── Main.storyboard
│   ├── DetailViewController.h
│   ├── DetailViewController.m
│   ├── Images.xcassets
│   │   └── AppIcon.appiconset
│   │       └── Contents.json
│   ├── Info.plist
│   ├── MasterViewController.h
│   ├── MasterViewController.m
│   └── main.m
├── MyProject.xcodeproj
│   ├── project.pbxproj
│   ├── project.xcworkspace
│   │   ├── contents.xcworkspacedata
│   │   └── xcuserdata
│   │       └── Nomura.xcuserdatad
│   │           └── UserInterfaceState.xcuserstate
│   └── xcuserdata
│       └── Nomura.xcuserdatad
│           └── xcschemes
│               ├── MyProject.xcscheme
│               └── xcschememanagement.plist
└── MyProjectTests
    ├── Info.plist
    └── MyProjectTests.m

12 directories, 18 files

이렇게 MyProject 폴더에 모든 파일이 있는 상태입니다.
엉망이되어 이해하기 어렵다. . .

그럼 먼저 Xcode에서 그룹을 나눕니다.
간단히 이런 느낌으로 해 보았습니다.



synx 명령으로 정리해 봅시다.

sh
$ synx ./MyProject.xcodeproj/

  Syncing files that are included in Xcode project...
  MyProject/
    Sources/
      Defaults/
        AppDelegate.h
        AppDelegate.m
      Views/
        Master/
          MasterViewController.h
          MasterViewController.m
        Detail/
          DetailViewController.h
          DetailViewController.m
        Base.lproj/
          Main.storyboard
    Resources/
      Images/
        Images.xcassets
        Base.lproj/
          LaunchScreen.xib
    Supporting Files/
      Info.plist (build settings amended: INFOPLIST_FILE)
      main.m
  MyProjectTests/
    MyProjectTests.m
    Supporting Files/
      Info.plist (build settings amended: INFOPLIST_FILE)
  Products/ (excluded)


  Syncing files that are not included in Xcode project..
  MyProject/
    Sources/
      Defaults/
      Views/
        Master/
        Detail/
        Main.storyboard/
    Resources/
      Images/
        LaunchScreen.xib/
    Supporting Files/
  MyProjectTests/
    Supporting Files/
  Products/ (excluded)

아무래도 화려한 것이 나오고, 한순간에 정리되었습니다.
tree 명령으로 확인해 봅시다.

sh
$ tree
.
├── MyProject
│   ├── Resources
│   │   └── Images
│   │       └── Images.xcassets
│   │           └── AppIcon.appiconset
│   │               └── Contents.json
│   ├── Sources
│   │   ├── Defaults
│   │   │   ├── AppDelegate.h
│   │   │   └── AppDelegate.m
│   │   └── Views
│   │       ├── Base.lproj
│   │       │   ├── LaunchScreen.xib
│   │       │   └── Main.storyboard
│   │       ├── Detail
│   │       │   ├── DetailViewController.h
│   │       │   └── DetailViewController.m
│   │       └── Master
│   │           ├── MasterViewController.h
│   │           └── MasterViewController.m
│   └── Supporting\ Files
│       ├── Info.plist
│       └── main.m
├── MyProject.xcodeproj
│   ├── project.pbxproj
│   ├── project.xcworkspace
│   │   ├── contents.xcworkspacedata
│   │   └── xcuserdata
│   │       └── Nomura.xcuserdatad
│   │           └── UserInterfaceState.xcuserstate
│   └── xcuserdata
│       └── Nomura.xcuserdatad
│           └── xcschemes
│               ├── MyProject.xcscheme
│               └── xcschememanagement.plist
└── MyProjectTests
    ├── MyProjectTests.m
    └── Supporting\ Files
        └── Info.plist

21 directories, 18 files

[Sources], [Resources], [Views], 각 그룹 이름의 디렉토리가 만들어지고,
그 안에 파일이 들어갔습니다.

최초의 디렉토리 정리로 시간을 받고 있던 시대는 어땠을까. . .

좋은 웹페이지 즐겨찾기