https://github.com/inaturalist/INaturalistIOS
iNaturalist iOS app
https://github.com/inaturalist/INaturalistIOS
Last synced: 20 days ago
JSON representation
iNaturalist iOS app
- Host: GitHub
- URL: https://github.com/inaturalist/INaturalistIOS
- Owner: inaturalist
- License: mit
- Created: 2012-02-19T03:52:44.000Z (about 14 years ago)
- Default Branch: main
- Last Pushed: 2026-03-31T09:10:56.000Z (27 days ago)
- Last Synced: 2026-03-31T11:04:54.145Z (27 days ago)
- Language: Objective-C
- Homepage:
- Size: 38 MB
- Stars: 179
- Watchers: 13
- Forks: 58
- Open Issues: 185
-
Metadata Files:
- Readme: README.md
- License: MIT-LICENSE
Awesome Lists containing this project
- open-source-ios-apps - iNaturalist
- fucking-open-source-ios-apps - iNaturalist
README
INaturalistIOS
==============
INaturalistIOS is the official iOS app for submitting data to [iNaturalist.org](http://www.inaturalist.org).
Setup
-----
We use cocoapods for dependencies. Install it with: `gem install cocoapods`, then do `pod install` in this directory to install the INaturalistIOS dependencies. If you run into the build error *Class 'RK_FIX_CATEGORY_BUGSNDictionary_RKAdditions' defined without specifying a base class*, then you will need to set the clang warning **Unintentional Root Class** to be something other than **Yes (Error)** for the RestKit target in the Pods project. We are moving away from RestKit in 2019 so hopefully this won't be an issue for long.
You'll also need to copy `config.h.example` to `INaturalistIOS/config.h` and fill in your details.
You'll also need to copy `GoogleService-Info.plist.example` to `INaturalistIOS/GoogleService-Info.plist`. This version of GoogleService will disable any firebase related features we use - crash reporting, debug logging, google signin, etc. If you want any of those features, you should signup with Google Firebase and once you have your own `GoogleService-Info.plist` file, copy it here. Some instructions are here: https://firebase.google.com/docs/ios/setup?authuser=1#register-app
That should get you set up for local development with the Simulator. If you want to test on actual devices you'll need to get a provisioning profile from Apple and configure the project to use it: https://developer.apple.com/ios/manage/overview/index.action.
If you run into errors with cocoapods, xcode 14.3, and rsync, follow the instructions [here](https://github.com/CocoaPods/CocoaPods/issues/11808#issuecomment-1509261607)
Translations
------------
We do our translations on Crowdin. Head over to https://crowdin.com/project/inaturalistios and create an account, and you can start suggesting translations there. Our team regularly exports translations from crowdin and imports them to this project.
Roadmap
-----
We're focusing active feature development in [iNaturalistReactNative](https://github.com/inaturalist/iNaturalistReactNative) now.
Getting Help
------------
Did you find this repository while searching for a solution to a problem with INaturalistIOS? Consider first checking in with the iNaturalist [Forum](https://forum.inaturalist.org) to see if other users are reporting issues or to ask a question. If you're pretty sure there is a technical issue to raise, [submit an issue](https://github.com/inaturalist/INaturalistIOS/issues). A "good" issue is one that is:
- Reproducible, by you and others;
- Well-described, including:
- what steps led to the problem;
- a description the problem;
- what you expected if the problem had not occurred;
- the _exact_ error message if one was shown.
- Documented, if possible (such as by using screenshots)