Profile
Back to NewsBack
GitHub Trending 3 min
Reader Mode
woocommerce/woocommerce-ios: WooCommerce iOS app

woocommerce/woocommerce-ios: WooCommerce iOS app

10 hours ago


for iOS

A Jetpack-powered companion app for WooCommerce.

Release License

Build Instructions • Documentation • Contributing • Automation • Security • Need Help? • Resources • License

🎉 Build Instructions

  1. Download Xcode
At the moment WooCommerce for iOS uses Swift 5.7 and requires Xcode 14 or newer. Previous versions of Xcode can be downloaded from Apple.
  1. Install Ruby. We recommend using rbenv to install it. Please refer to the .ruby-version file for the required Ruby version.
We use Ruby to manage the third party dependencies and other tools and automation.
  1. Clone project in the folder of your preference
git clone https://github.com/woocommerce/woocommerce-ios.git
  1. Enter the project directory
cd woocommerce-ios
  1. Install the third party dependencies and tools required to run the project.
brew install xz && bundle install && bundle exec rake dependencies

This command installs the required build tools and dependencies.

Automattic contributors should first install and set up a8c-secrets; the command above then decrypts the project secrets. Re-run it, or a8c-secrets decrypt, whenever the secrets are rotated.

  1. Open the project by double clicking on WooCommerce.xcworkspace file, or launching Xcode and choose File > Open and browse to WooCommerce.xcworkspace

Credentials for External Contributors

In order to login to WordPress.com using the app:

  1. Create a WordPress.com account (if you don't already have one).
  2. Create a new developer application here.
  3. Set "Website URL" = http://www.wordpress.com, "Redirect URLs" = https://localhost, "Javascript Origins" = https://localhost and "Type" = Native and click Create. On the next page, click Update.
  4. Copy the Client ID and Client Secret from the OAuth Information.
  5. Open WooCommerce/Credentials/Templates/ApiCredentials-Template.swift.
  6. Fill in the dotcomAppId with the Client ID.
  7. Fill in the dotcomSecret` with the Client Secret.
  8. Build and run the app on a device or inside simulator.
The build phase copies this template into each target's derived sources directory on every build, so your edits persist across clean builds.

Please, remember to not add this information on your commits and PRs.

📚 Documentation

  • Architecture
- Overview - Networking - Storage - Yosemite - Hardware
  • Coding Guidelines
- Coding Style - Naming Conventions - Protocols - String Constants in Nested Enums - Test Methods - Choosing Between Structures and Classes - Creating Core Data Model Versions - Localization - Switch Statements
  • Design Patterns
- Copiable - Generating Copiable Methods - Modifying The Copiable Code Generation - Fakeable - Generating Fake Methods - Modifying Fakes Code Generation - Tracking Events - Custom Properties
  • Quality & Testing
- AI dev and testing tools - UI Tests - Testing Card Present Payments - Beta Testing
  • Features
- In-app Feedback - Card Present Payments
  • Other
- Enable hot reload with Inject

👏 Contributing

Read our Contributing Guide to learn about reporting issues, contributing code, and more ways to contribute.

🤖 Automation

Peril

The woocommerce-ios project uses Peril to enforce Pull Request guidelines.

Circle CI

The woocommerce-ios project uses Circle CI for continuous integration.

🔐 Security

If you happen to find a security vulnerability, we would appreciate you letting us know at https://hackerone.com/automattic and allowing us to respond before disclosing the issue publicly.

🦮 Need Help?

You can find the WooCommerce usage docs here: docs.woocommerce.com

General usage and development questions:

🔗 Resources

📜 License

WooCommerce for iOS is an Open Source project covered by the GNU General Public License version 2.



Made with 💜 by WooCommerce.
We're hiring! Come work with us!

Chat with me