Git Product home page Git Product logo

shopapp-ios's Introduction

Build Status codecov

ShopApp for iOS

ShopApp connects with popular ecommerce platforms like Shopify, Magento, BigCommerce, and WooCommerce to transfer them into a mobile app for iOS and Android.


So far, we’ve developed a Shopify provider for iOS and Shopify provider for Android. Currently we’re working on adding more providers and extending the features list, so stay in touch with our updates.

Set up environment

To build and submit an application to the App Store, you're required to have XCode 9 installed. If it's not installed yet, follow the instructions from the official website https://developer.apple.com/xcode/ to install XCode 9.

To install the dependencies required for the application build, ShopApp uses CocoaPods. Connect one of the providers for an online store and install all the dependencies. Here we'll use Shopify as an example.

  1. Add the following line to the Podfile:
pod "ShopApp_Shopify", "~> 1.0"
  1. Install all the dependencies:
pod install
  1. You'll also have to configure the provider to get an access to your online store. To get an access, follow the instructions on a provider's page.

Here's how to configure the Shopify provider. Add the following code:

container.register(API.self) { _ in
    return ShopifyAPI(apiKey: "API KEY",
        shopDomain: "SHOP DOMAIN",
        adminApiKey: "ADMIN API KEY",
        adminPassword: "ADMIN PASSWORD",
        applePayMerchantId: "APPLE PAY MERCHANT ID")
}
.inObjectScope(.container)

to the file ShopApp/Data/DI/DataAssembly.swift.

  1. As the result, you'll be able to open the project file and launch an app.

To create a client for another SaaS, you'll have to add the following pod:

pod 'ShopApp_Gateway', '~> 1.0.5'

to the dependencies.

  1. Next, you have to create the class that'll work with the main application and implement the Repository protocol in it.

After that, you can add a new client to the main ShopApp application

Requirements

  • iOS 10+
  • XCode 9 for app development and submission to Apple App Store
  • Cocoapods to install all the dependencies

License

The ShopApp for iOS is licensed under the Apache 2.0 license


RubyGarage Logo

RubyGarage is a leading software development and consulting company in Eastern Europe. Our main expertise includes Ruby and Ruby on Rails, but we successfully employ other technologies to deliver the best results to our clients. Check out our portfolio for even more exciting works!

shopapp-ios's People

Contributors

antonoffevgeniy avatar radyslavkrechet avatar sparrow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shopapp-ios's Issues

File not found: ShopApp/Data/DI/DataAssembly.swift

Iam using Xcode12.0
My Podfile:

Uncomment the next line to define a global platform for your project

platform :ios, '9.0'

target 'ShopApp' do

Comment the next line if you don't want to use dynamic frameworks

use_frameworks!

Pods for ShopApp

pod "ShopApp_Shopify", "> 1.0"
pod 'ShopApp_Gateway', '
> 1.0.5'

target 'ShopAppTests' do
inherit! :search_paths
# Pods for testing
end

target 'ShopAppUITests' do
# Pods for testing
end

end

installed successfully, but not able to find the below mentioned file "ShopApp/Data/DI/DataAssembly.swift."

Here's how to configure the Shopify provider. Add the following code:

container.register(API.self) { _ in
return ShopifyAPI(apiKey: "API KEY",
shopDomain: "SHOP DOMAIN",
adminApiKey: "ADMIN API KEY",
adminPassword: "ADMIN PASSWORD",
applePayMerchantId: "APPLE PAY MERCHANT ID")
}
.inObjectScope(.container)
to the file ShopApp/Data/DI/DataAssembly.swift.

any help?

Status of other providers

Hi rubygarage,

I've tried shopapp-ios with Shopify, so far I love it. Great work.

Just out of curiosity, is other providers like WooCommerce still under developing? Any update?

This project still active?

Hi, huge fan of the idea behind the project, but after spending a few hours trying to get this to build for iOS, and resolve all dependencies, I realize that my battle might be more uphill than I thought. If I decide to continue resolving build errors, I am wondering how safe it is to rely on this repo, with basically no documentation, to continue to receive updates, or if makes more sense -- for a production application -- to roll my own vanilla wrapper around Shopify instead.

Thanks
James

This project still active?

Hi, huge fan of the idea behind the project, but after spending a few hours trying to get this to build for iOS, and resolve all dependencies, I realize that my battle might be more uphill than I thought. If I decide to continue resolving build errors, I am wondering how safe it is to rely on this repo, with basically no documentation, to continue to receive updates, or if makes more sense -- for a production application -- to roll my own vanilla wrapper around Shopify instead.

Thanks
James

CreditCardPayment Denied

I received the following error message when trying to check out credicardpayment denied access. After doing some research I found that Shopify does not allow payments on their mobile sdk anymore. In this thread it is suggested that users of the api should checkout via WKWebView. I wanted to know if you all have faced this issue if so what was your workaround?

Payment processing capabilities are reserved only for sales channel marketplaces. This function will not be available for mobile app builders or private apps going forward.

If you are a sales channel marketplace integration that does not function as a mobile app, you can request payment processing from within your partner dashboard. If you function as a mobile application builder you will need to utilize the checkout API to acquire a webUrl, which you will need to frame within your mobile interface.

Checkout URL

I would like spin up a WKWebView for my cart. I would like to know where is the url for the cart ?

Step 4 and Step 5

I don't understand this. I ran the app and im getting could not find default and wondering if these steps have anything to do with that

Payment gateway

Hello
Great app im working on this but I want to ask about the payment gateways. Can I only add apple pay or I should have another payment gateway to use?

Error setting property on UIView

I followed the instructions by adding my Shopfiy App. Everything builds properly, but when I run the app I get one error at the beginning, which is

"[error] fault: One or more models in this application are using transformable properties with transformer names that are either unset, or set to NSKeyedUnarchiveFromDataTransformerName. Please switch to using "NSSecureUnarchiveFromData" or a subclass of NSSecureUnarchiveFromDataTransformer instead. At some point, Core Data will default to using "NSSecureUnarchiveFromData" when nil is specified, and transformable properties containing classes that do not support NSSecureCoding will become unreadable."

And then as I click around all the blank pages I continue to see:

"ShopApp[53814:1224949] Failed to set (isAccessibilityView) user defined inspected property on (UIView): [<UIView 0x7fd821ea4570> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key isAccessibilityView."

Any ideas?

dark mode

please can you add dark mode support

ShopifyAPI Error

Hello
I get error when I add " container.register(API.self) { _ in
return ShopifyAPI(apiKey: "API KEY",
shopDomain: "SHOP DOMAIN",
adminApiKey: "ADMIN API KEY",
adminPassword: "ADMIN PASSWORD",
applePayMerchantId: "APPLE PAY MERCHANT ID")
}
.inObjectScope(.container) "

in DataAssembly , the error is " Use of unresolved identifier 'ShopifyAPI' "

xcode 10 build error

when building in Xcode 10 gm seed I get this error: Missing argument for parameter 'giftCards' in call in shopifyapi.swift

Can't Checkout [Question]

Thanks for putting this project together. I have been able to get the project up and running but I am not able to get checkout to work. I've switched many of the features to read/write on the Shopify end but I am still seeing the error message. Any suggestions on what I can do next to further debug this?

Can't checkout

Thanks for putting this project together. I have been able to get the project up and running but I am not able to get checkout to work. I've switched many of the features to read/write on the Shopify end but I am still seeing the error message. Any suggestions on what I can do next to further debug this?

Cannot build after adding ShopApp_Shopify pod

Hello, I can clone the ShopApp repo, do a pod install, and then successfully build the code in XCode 10.2.1. However, once I add the ShopApp_Shopify pod to the Podfile, and install it via pod install, I get the following build error:

error: Multiple commands produce '/Users/ghassett/Library/Developer/Xcode/DerivedData/ShopApp-gbpikwhrdwpjhoherevxqxtsanho/Build/Products/Debug-iphonesimulator/ShopApp.app/Frameworks/ShopApp_Gateway.framework':
1) Target 'ShopApp' has copy command from '/Users/ghassett/Library/Developer/Xcode/DerivedData/ShopApp-gbpikwhrdwpjhoherevxqxtsanho/Build/Products/Debug-iphonesimulator/ShopApp_Gateway.framework' to '/Users/ghassett/Library/Developer/Xcode/DerivedData/ShopApp-gbpikwhrdwpjhoherevxqxtsanho/Build/Products/Debug-iphonesimulator/ShopApp.app/Frameworks/ShopApp_Gateway.framework'
2) That command depends on command in Target 'ShopApp': script phase “[CP] Embed Pods Frameworks”

Is there some other step that I need to make? Apologies if I am missing something obvious.

Thanks -- looking forward to seeing it in action!

Something Happening during Checkout

Hey guys I love this project thanks for making this open source.

I almost got things up and running however, anytime I try to place order I get the "Something Happened" view controller but I am unsure what I need to do to debug this. I am also not sure if there is something for me to change on the Shopify end or on my end. Could I get some guidance on how to get a more descriptive error message from this screen?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.