Giter VIP home page Giter VIP logo

fh-ios-sdk's Introduction

FeedHenry iOS SDK

Maintenance circle-ci codecov License GitHub release CocoaPods Platform

The iOS Software Development Kit to connect to the FeedHenry platform.

Usage

See iOS SDK Guide.

Links

Developing

The project relies on CocoaPods and it's respective plugins 'cocoapods-packager' and 'cocoapods-appledoc', so please ensure that are installed in your system. If not, please execute the following:

[sudo] gem install cocoapods cocoapods-packager cocoapods-appledoc

Then, install CocoaPods dependencies.

pod install
open fh-ios-sdk.xcworkspace

Note: Do not open fh-ios-sdk.xcodeproj, work with xcworkspace ensures both the iOS SDK project and the CocoaPods dependencies are included in Xcode.

Running Tests

Tests can be run in Xcode by navigating to Product -> Test.

Working with templates app

fh-ios-sdk is used by template app like sync-ios-app to scaffold and demo synchronization feature. You can run a template app with dev pod by:

source 'https://github.com/CocoaPods/Specs.git'
project 'sync-ios-app.xcodeproj'
platform :ios, '9.0'
target 'sync-ios-app' do
    pod 'FH', :path => '../fh-ios-sdk/'
end

Given that :path point to the relative path holding your sdk code source.

Common Actions

  • Update the VERSION.txt and fh-ios-sdk/FHDefines.h with the new version number.
  • Update CHANGELOG.md with the new release and content.

a) Release on CocoaPods [Required Step]

  • Update FH.podspec, s.version attribute with the new version number.
  • Tag the repository with the new version number:
git tag -s -a {VERSION} -m 'version {VERSION}'   // e.g. {VERSION} format is  '2.2.5'
  • Push the new release tag on GitHub:
git push origin {TAG}
  • Publish the FH.podspec on the CocoaPods repo with:
 	pod trunk push --allow-warnings

--allow-warnings is required to skip some deprecation warnings from a underlying dependency library. This will be circumvented in a future release.

b) Release on GitHub

  • Once you have published on CocoaPods it's time to do a GitHub release. To do so run the script:
./github-release.sh

This will produce two files in the Releases-{version} directory. You can then attach them on the GitHub release page.

c) Generate API Documentation

To generate API documentation and sync with the GitHub pages placeholder, switch to 'gh-pages' branch and follow the instructions there.

fh-ios-sdk's People

Contributors

antiguab avatar cianclarke avatar corinnekrych avatar cvasilak avatar danbev avatar danielpassos avatar david-martin avatar evanshortiss avatar jasonmadigan avatar jcesarmobile avatar jhellar avatar lgriffin avatar lordmortis avatar matzew avatar mmurphy avatar readmecritic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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

fh-ios-sdk's Issues

Proposal: Extract sync implementation to separate project

Proposal

Rewrite and extract sync implementation into separate library.
Port ObjectiveC code to swift.
Integrate new library into fh-ios-sdk

Justification

Allow to use sync library without sdk
Swift based implementation will help to gain more traction with community

Things to consider

Storage. Using core data, database etc.
Background sync (research patterns on IOS platform)
Possibility to use different storage solution for better performance.

Extraction should include:

  • Ability to provide external networking library if needed
  • Ability to generate different clients
  • Default network handler
  • Default client id generator

I'm researching this at the moment to provide more information for this proposal.

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.