[Add] FCService 0.0.61-fc
[CocoaPods.git] / Specs / 6 / c / 0 / YatLib / 0.1.2 / YatLib.podspec.json
blobd51b7bce9172b57023a72735115fdcee270fffd0
2   "name": "YatLib",
3   "version": "0.1.2",
4   "summary": "y.at partner integration library for iOS.",
5   "description": "# Yat Partner Integration iOS Framework\n\nThis framework is designed to make it easy for Yat partners to integrate the Yat purchase or connect flows into their apps.\n\n## Requirements\n\n- iOS 13.0+\n- Swift 5\n\n## Installation\n\n### Using Cocoapods\n\nYou can use [CocoaPods](http://cocoapods.org/) to install `YatLib` by adding it to your `Podfile`:\n\n```ruby\nuse_frameworks!\n\ntarget 'MyApp' do\n    pod 'YatLib'\nend\n```\n\n## Usage\n\n1. Create your app, add `YatLib` as a pod dependency as described above, and do a `pod install`.\n\n2. `YatLib` uses deep links to return from the Yat web application back to the application. URL scheme of the deep link is agreed upon in between the Yat development team and the integration partner. Currently used scheme is `{partner_key}://y.at?{query_params}`. Setup your deep links in your project accordingly.\n\n    1. Select your project in the project browser.\n    2. Select your app target under `Targets`.\n    3. Select the `Info` tab and expand the `URL types` section.\n    4. Click the `+` button, and enter the app's URL scheme into the `URL Schemes` text box.\n\n3. Open `SceneDelegate.swift` file, and update and add the below functions:\n\n    ```swift\n    import UIKit\n    import YatLib\n\n    class SceneDelegate: UIResponder, UIWindowSceneDelegate {\n\n        func scene(_ scene: UIScene,\n                   willConnectTo session: UISceneSession,\n                   options connectionOptions: UIScene.ConnectionOptions\n        ) {\n            guard let _ = (scene as? UIWindowScene) else { return }\n            self.scene(scene, openURLContexts: connectionOptions.urlContexts)\n        }\n\n        internal func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {\n            if let url = URLContexts.first?.url {\n                YatLib.processDeepLink(url)\n            }\n        }\n\n        // ... rest of the implementation ...\n\n    }\n    ```\n\n4. Define and set the app-specific constants, which will be delivered to you by the Yat development team, and define the crypto records to be linked to the Yat.\n\n    ```swift\n    import YatLib\n\n    class MyViewController: UIViewController {\n        // application display name\n        let appName = \"Super Cool Wallet\"\n        // \"source\" parameter - used when registering a new user\n        let appSourceName = \"SCW\"\n        // path component used in some requests\n        let appPathKey = \"scw\"\n        // 64-character hex public key for your app\n        let appPubKey = \"70cbc....5653\"\n        // application code value - used as a path parameter in some requests\n        let appCode = \"66b6a5aa-11b4-12a9-1c1e-84765ef174ab\"\n        // used in an auth header specific to the Yat API\n        let appAuthToken = \"AppToken84765783\"\n\n        // data to be linked to the Yat\n        private let yatRecords = [\n            YatRecord(\n                type: .BTCAddress,\n                value: \"1NDyJtNTjmwk5xPNhjgAMu4HDHigtobu1s\"\n            ),\n            YatRecord(\n                type: .ETHAddress,\n                value: \"108dEFa0272dC118EF03a7993e4fC7A8AcF3a3d1\"\n            ),\n            YatRecord(\n                type: .XTRAddress,\n                value: \"d2e4db6dac593a9af36987a35676838ede4f69684ba433baeed68bce048e111b\".uppercased()\n            ),\n            YatRecord(\n                type: .XMRStandardAddress,\n                value: \"4AdUndXHHZ6cfufTMvppY6JwXNouMBzSkbLYfpAV5Usx3skxNgYeYTRj5UzqtReoS44qo9mtmXCqY45DJ852K5Jv2684Rge\"\n            )\n        ]\n    }\n    ```\n\n6. Implement a delegate for the library:\n\n    ```swift\n    extension ViewController: YatLibDelegate {\n    \n        func onYatIntegrationComplete(yat: String) {\n            // ... your code ...\n        }\n        \n    }\n    ```\n\n5. Initialize the library using the values defined in the previous steps:\n\n    ```swift\n    // ...\n    YatLib.initialize(\n        appName: appName,\n        appSourceName: appSourceName,\n        appPathKey: appPathKey,\n        appCode: appCode,\n        appAuthToken: appAuthToken,\n        appPubKey: appPubKey,\n        // app user id\n        userId: UUID().uuidString,\n        // app user password\n        userPassword: UUID().uuidString,\n        colorMode: .dark,\n        delegate: self,\n        records: yatRecords\n    )\n    // ...\n    ```\n\n6. Launch the library with a host view controller that will present the root view controller of the library:\n\n    ```swift\n    YatLib.start(hostViewController: self)\n    ```\n\n7. Library will call its delegate's `onYatIntegrationComplete(yat: String)` function on successful completion, and will exit silently if the user cancels the flow.",
6   "homepage": "https://github.com/yat-labs/yat-lib-ios",
7   "license": "3-Clause BSD License",
8   "authors": {
9     "The Tari Development Team": "info@tari.com"
10   },
11   "platforms": {
12     "ios": "13.0"
13   },
14   "swift_versions": "5",
15   "source": {
16     "git": "https://github.com/yat-labs/yat-lib-ios.git",
17     "tag": "0.1.2"
18   },
19   "source_files": "YatLib/**/*.{h,swift}",
20   "resource_bundles": {
21     "yat.YatLib": [
22       "YatLib/**/*.{lproj,xcassets,otf}"
23     ]
24   },
25   "swift_version": "5"