Parse project file and write it to open step format.
Plist files could be in binary, xml or open step format. All could be parsed natively using PropertyListSerialization
.
This project aim to
- check xcode project file. Error could occurs after merging file using git.
- rewrite the file into open step format, if you edit it using some command line like plutil.
Alternatively you can use apple private framework DVTFoundation, like Xcodeproj do.
let xcodeProj = try XcodeProj(url: url)
let project: PBXProject = xcodeProj.project
let mainGroup: PBXGroup? = project.mainGroup
let targets: [PBXNativeTarget] = project.targets
let buildConfigurationList: XCConfigurationList? = project.buildConfigurationList
try xcodeProj.write(to: newURL, format: .openStep)
let package = Package(
name: "MyProject",
dependencies: [
.package(url: "https://github.com/phimage/XcodeProjKit.git", .upToNextMajor(from: "2.0.0")),
],
targets: [
.target(
name: "MyProject",
dependencies: ["XcodeProjKit"]),
]
)
Carthage is a decentralized dependency manager for Objective-C and Swift.
Add the project to your Cartfile.
github "phimage/XcodeProjKit"
Run carthage update and follow the additional steps in order to add MomXML to your project.
Add the project to your Podfile.
pod "XcodeProjKit"
- http://danwright.info/blog/2010/10/xcode-pbxproject-files/
- http://www.monobjc.net/xcode-project-file-format.html
- https://github.com/apple/swift-package-manager/tree/master/Sources/Xcodeproj
- @Karumi for the test files : https://github.com/Karumi/Kin
- @allu22 for the PR
- Make a command line tools
- Fork
- Make PR