Skip to content
main
Go to file
Code

Latest commit

since if it's nil, the property getter will create it,
which is unsafe in a dealloc context
3f61572

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

INaturalistIOS

INaturalistIOS is the official iOS app for submitting data to 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 config.h and fill in your details.

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.

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

Check out our Roadmap for details on where we're doing.

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 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. 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)
You can’t perform that action at this time.