Native iOS (Swift) blank sample
Switch branches/tags
release-87.87.0-rc1 release-13.18.0-rc1 release-10.18.0-rc2 release-10.18.0-rc1 release-9.18.0-rc1 release-8.18.0-rc1 release-4.6.5-rc4 release-4.6.5-rc3 release-4.6.5-rc2 release-4.6.5-rc1 release-4.6.2 release-4.6.2-rc1 release-4.6.0 release-4.6.0-rc5 release-4.6.0-rc4 release-4.6.0-rc3 release-4.6.0-rc2 release-4.6.0-rc1 release-4.6.0-er1 release-4.5.1 release-4.5.1-rc2 release-4.5.1-rc1 release-4.5.0 release-4.5.0-rc7 release-4.5.0-rc6 release-4.5.0-rc5 release-4.5.0-rc4 release-4.5.0-rc3 release-4.5.0-rc2 release-4.5.0-rc1 release-4.3.0-rc1 release-3.20.5-rc1 release-3.20.4 release-3.20.4-rc1 release-3.20.3 release-3.20.3-rc3 release-3.20.3-rc2 release-3.20.3-rc1 release-3.20.2 release-3.20.2-rc2 release-3.20.2-rc1 release-3.20.1 release-3.20.0 release-3.20.0-rc3 release-3.20.0-rc2 release-3.20.0-rc1 release-3.19.2 release-3.19.2-rc1 release-3.19.1 release-3.19.1-rc2 release-3.19.1-rc1 release-3.19.0 release-3.19.0-rc5 release-3.19.0-rc4 release-3.19.0-rc3 release-3.19.0-rc2 release-3.19.0-rc1 release-3.18.3 release-3.18.2 release-3.18.2-rc1 release-3.18.1 release-3.18.1-rc1 release-3.18.0 release-3.18.0-rc5 release-3.18.0-rc4 release-3.18.0-rc3 release-3.18.0-rc2 release-3.18.0-rc1 release-3.17.3 release-3.17.3-rc1 release-3.17.2 release-3.17.2-rc2 release-3.17.2-rc1 release-3.17.1 release-3.17.1-rc1 release-3.17.0 release-3.17.0-rc6 release-3.17.0-rc5 release-3.17.0-rc4 release-3.17.0-rc3 release-3.17.0-rc2 release-3.16.0-rc1 release-3.15.1-rc1 release-3.15.0-rc2 release-3.15.0-rc1 release-3.14.0-rc4 release-3.14.0-rc3 release-3.14.0-rc2 release-3.14.0-rc1 release-3.13.1-rc1 release-3.13.0 release-3.13.0-rc4 release-3.13.0-rc3 release-3.13.0-rc2 release-3.13.0-rc1 release-3.11.0-rc1
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
blank-ios-app.xcodeproj
blank-ios-app
licenses
screenshots
.gitignore
CONTRIBUTING.md
Jenkinsfile
LICENSE.txt
Podfile
README.md
circle.yml

README.md

blank-ios-swift

circle-ci

Obj-C version is available here.

Author: Corinne Krych, Daniel Passos
Level: Intermediate
Technologies: Swift 4, iOS, RHMAP, CocoaPods.
Summary: A demonstration of how to get started with RHMAP.
Community Project : Feed Henry
Target Product: RHMAP
Product Versions: RHMAP 3.7.0+
Source: https://github.com/feedhenry-templates/blank-ios-swift
Prerequisites: fh-ios-swift-sdk: 6+, Xcode: 9+, iOS SDK: iOS 9+, CocoaPods: 1.3.0+

What is it?

Simple native iOS app to get you started with fh-ios-swift-sdk in RHMAP.

How do I run it?

RHMAP Studio

This application and its cloud services are available as a project template in RHMAP as part of the "Native iOS Blank Project" template.

Local Clone (ideal for Open Source Development)

If you wish to contribute to this template, the following information may be helpful; otherwise, RHMAP and its build facilities are the preferred solution.

Build instructions

  1. Clone this project
  2. Populate blank-ios-app/fhconfig.plist with your values as explained here.
  3. Run Pod install
  4. Open blank-ios-app.xcworkspace
  5. Run the project

NOTE: If you clone it manually to make the app buildable in RHMAP Build farm, replace the templating %id% in blank-ios-app\blank-ios-app-Info.plist in the following block:

<key>CFBundleIdentifier</key>
<string>%id%</string>

How does it work?

FH init

In blank-ios-app/ViewController.swift the synchronization loop is started.

override func viewDidLoad() {
    super.viewDidLoad()
    
    // FH.init using Swift FH sdk
    // trailing closure Swift syntax
    FH.init { (resp:Response, error: NSError?) -> Void in
        if let error = error {
            self.statusLabel.text = "FH init in error"
            print("Error: \(error)")
        }
        self.statusLabel.text = "FH init successful"
        print("Response: \(resp.parsedResponse)")
    }

}

iOS9 and non TLS1.2 backend

If your RHMAP is depoyed without TLS1.2 support, open as source blank-ios-app/blank-ios-app-Info.plist.plist make sure the following line are uncommented:

  <key>NSAppTransportSecurity</key>
  <dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
  </dict>