.. image:: https://img.shields.io/github/actions/workflow/status/kronenthaler/mod-pbxproj/branch-check.yml?event=push&style=flat&logo=github&color=4da533 :target: https://github.com/kronenthaler/mod-pbxproj/actions?query=workflow%3Abranch-check :alt: GitHub Workflow Status (branch)
.. image:: https://sonarcloud.io/api/project_badges/measure?project=kronenthaler_mod-pbxproj&metric=alert_status :target: https://sonarcloud.io/summary/new_code?id=kronenthaler_mod-pbxproj :alt: Sonar Quality Gate status
.. image:: https://sonarcloud.io/api/project_badges/measure?project=kronenthaler_mod-pbxproj&metric=coverage :target: https://sonarcloud.io/component_measures?metric=coverage&id=kronenthaler_mod-pbxproj :alt: Sonar branch coverage
.. image:: https://sonarcloud.io/api/project_badges/measure?project=kronenthaler_mod-pbxproj&metric=reliability_rating :target: https://sonarcloud.io/summary/new_code?id=kronenthaler_mod-pbxproj :alt: Sonar reliability grade
.. image:: https://img.shields.io/pypi/v/pbxproj?logo=python&logoColor=ffffff&style=flat&color=4da533 :target: https://pypi.python.org/pypi/pbxproj :alt: PyPI
.. image:: https://img.shields.io/pypi/dm/pbxproj?logo=python&logoColor=ffffff&style=flat&color=4da533 :target: https://pypi.python.org/pypi/pbxproj/ :alt: PyPI - Downloads
.. image:: https://img.shields.io/pypi/l/pbxproj?style=flat&color=4da533 :target: license.txt :alt: PyPI - License
This module can read, modify, and write a .pbxproj file from an Xcode 4+ projects. The file is usually called project.pbxproj and can be found inside the .xcodeproj bundle. Because some task cannot be done by clicking on an UI or opening Xcode to do it for you, this python module lets you automate the modification process.
The typical tasks with an Xcode project are adding files to the project and setting some standard compilation flags. It can be achieved with a simple snippet like this:
.. code-block:: python
from pbxproj import XcodeProject
project = XcodeProject.load('myapp.xcodeproj/project.pbxproj')
project.add_file('MyClass.swift', force=False)
project.add_other_ldflags('-ObjC')
project.save()
That's it. More details about available API's visit the wiki <https://github.com/kronenthaler/mod-pbxproj/wiki/>
__.
For installation instructions visit the wiki <https://github.com/kronenthaler/mod-pbxproj/wiki/Installation>
__
For instructions and commands available visit the wiki <https://github.com/kronenthaler/mod-pbxproj/wiki/CLI>
__
For general documentation, visit the wiki <https://github.com/kronenthaler/mod-pbxproj/wiki/>
_.
For technical documentation, the public functions are documented and contains details about what is expected.
Did you find a bug? Too bad, but we want to help you, we need you to:
We cannot help you if your issue is a title: "it does not work". Or if there is no sequence of steps to reproduce the error. Those kind of issues will be ignored or closed automatically.
Do you want to fix an issue yourself? Great! some house rules:
This project is licensed using MIT license.