For analyzing bugs, creating bug fixes and features we recommend to clone this repository locally and add it as a local package to your Xcode project. This way you can edit and inspect the Parse SDK while running your app. You can find step-by-step instructions for how do that in the Xcode docs.
-
Fork the repository and create a new branch.
-
Add unit tests for any new code you add:
- Core Module - /Parse/Tests/Unit/
-
If you've changed APIs, update the documentation and the iOS Guide.
-
Ensure the test suite passes. You can run the tests in the command line with rake.
Install all dependencies:
git submodule update --init --recursive gem install bundler -v 2.5.22 bundle install
Run the tests:
bundle exec rake test:ios
-
Ensure the project builds. You can use the Starter Projects to perform integration tests.
bundle exec rake build:starters
Check the Rakefile and the GitHub workflows for more information.
Although we try to keep developing with the Parse Platform easy, you still may run into some issues. General questions should be asked in our community forum, technical questions should be asked on Stack Overflow, and for everything else we use GitHub issues.
We use GitHub issues to track public bugs. We keep a close eye on this and try to make it clear when a fix is in progress. Before filing a new issue, check existing issues for the same problem.
Not all issues are SDK issues. If you're unsure whether your bug is with the SDK or backend, you can test to see if it reproduces with our REST API and Parse Dashboard API Console. If it does, you can report bugs on the Parse Server repository.
To view the REST API network requests issued by the Parse SDK, please check out our Network Debugging Tool.
Details are key. The more information you provide us the easier it'll be for us to debug and the faster you'll receive a fix. Some examples of useful tidbits:
- A description. What did you expect to happen and what actually happened? Why do you think that was wrong?
- A simple unit test that fails. Refer [here][tests-dir] for examples of existing unit tests. See our README for how to run unit tests. You can submit a pull request with your failing unit test so that our CI verifies that the test fails.
- What version does this reproduce on? What version did it last work on?
- Stacktrace or GTFO. In all honesty, full stacktraces with line numbers make a happy developer.
- Anything else you find relevant.
Please follow our security documentation for the safe disclosure of security bugs. In those cases, please go through the process outlined on that page and do not file a public issue.
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to honor this code.