Contents

bannzai/XcodeProject

Xcode utility for reading and writing pbxproj file format.

About XcodeProject Library

Usage XcodeProject Core Function.

Instanciate XcodeProject class. XcodeProject is necessary edit for project.pbxproj.

// Prepare for your project `project.pbxproj` file path.
let yourProjectPath = "/Users/bannzai/development/iOSProject/iOSProject.xcodeproj"
let pbxPath = yourProjectPath + "/project.pbxproj"
let xcodeprojectFileURL = URL(fileURLWithPath: pbxPath)

// Instanciate `XcodeProject`.
let xcodeproject = try XcodeProject(xcodeprojectURL: xcodeprojectFileURL)

Append file with relative wfile path from iOSProject.xcodeproject directory and build target name.

xcodeproject.appendFile(path: "iOSProject/Repository/UserRepository.swift", targetName: "iOSProject")

Remove file with relative wfile path from iOSProject.xcodeproject directory and build target name.

// append file with file path and build target name. 
xcodeproject.removeFile(path: "Config.swift", targetName: "iOSProject")

If you want overwrite project.pbxproj, You can call xcodeproject.write() method.

// Overwrite in pbxproj.
try xcodeproject.write()

Command Line Tool

Install

Using mint.

$ mint install bannzai/XcodeProject

Usage

Add file

xcp --add-file <FILE_PATH> <BUILD_TARGET_NAME>

$ xcp --add-file iOSProject/Group/A.swift iOSProject.xcodeproj/project.pbxproj iOSProject 
Add group

xcp --add-group <FILE_PATH> <BUILD_TARGET_NAME>

$ xcp --add-group iOSProject/Group/ iOSProject.xcodeproj/project.pbxproj iOSProject
Remove file

xcp --remove-file <FILE_PATH> <BUILD_TARGET_NAME>

$ xcp --remove-file iOSProject/Group/A.swift iOSProject.xcodeproj/project.pbxproj iOSProject 
Remove group

xcp --remove-group <FILE_PATH> <BUILD_TARGET_NAME>

$ xcp --remove-group iOSProject/Group/ iOSProject.xcodeproj/project.pbxproj iOSProject

Used in

Kuri

Kuri is code generate for iOS CleanArchitecture.

License

XcodeProject is available under the MIT license. See the LICENSE file for more info.

Package Metadata

Repository: bannzai/XcodeProject

Stars: 65

Forks: 8

Open issues: 2

Default branch: master

Primary language: swift

License: MIT

README: README.md