woocommerce-ios
woocommerce-ios copied to clipboard
WooCommerce iOS app

for iOS
A Jetpack-powered companion app for WooCommerce.
Build Instructions • Documentation • Contributing • Automation • Security • Need Help? • Resources • License
🎉 Build Instructions
-
Download Xcode
At the moment WooCommerce for iOS uses Swift 5 and requires Xcode 12 or newer. Previous versions of Xcode can be downloaded from Apple.
-
Install Ruby. We recommend using rbenv to install it. Please refer to the
.ruby-versionfile for the required Ruby version.We use Ruby to manage the third party dependencies and other tools and automation.
-
Clone project in the folder of your preference
git clone https://github.com/woocommerce/woocommerce-ios.git -
Enter the project directory
cd woocommerce-ios -
Install the third party dependencies and tools required to run the project.
bundle install && bundle exec rake dependenciesThis command installs the required tools like CocoaPods. And then it installs the iOS project dependencies using CocoaPods.
-
Open the project by double clicking on
WooCommerce.xcworkspacefile, or launching Xcode and choose File > Open and browse toWooCommerce.xcworkspace
Credentials for External Contributors
In order to login to WordPress.com using the app:
-
Create a WordPress.com account (if you don't already have one).
-
Create a new developer application here.
-
Set "Website URL" =
http://www.wordpress.com, "Redirect URLs" =https://localhost, "Javascript Origins" =https://localhostand "Type" =Nativeand click Create. On the next page, click Update. -
Copy the Client ID and Client Secret from the OAuth Information.
-
Build the app. A file named
ApiCredentials.swiftshould be generated. -
Navigate to the generated
WooCommerce/DerivedSources/ApiCredentials.swiftfile.
-
Fill in the
dotcomAppIdwith the Client ID. -
Fill in the
dotcomSecretwith the Client Secret. -
Recompile and run the app on a device or inside simulator.
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
- Design Patterns
- Copiable
- Generating Copiable Methods
- Modifying The Copiable Code Generation
- Fakeable
- Generating Fake Methods
- Modifying Fakes Code Generation
- Tracking Events
- Custom Properties
- Copiable
- Quality & Testing
- UI Tests
- Testing Card Present Payments
- Beta Testing
- Issue Triage
- 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:
- WooCommerce Slack Community
- WordPress.org Forums
- The WooCommerce Help and Share Facebook group
🔗 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!