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/XcodeProjectUsage
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 iOSProjectRemove 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 iOSProjectUsed 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