Client-side SDK no longer actively maintained by Stream
A Feeds integration includes a combination of server-side and client-side code and the interface can vary widely which is why we are no longer focussing on supporting this SDK. If you are starting from scratch we recommend you only use the server-side SDKs.
This is by no means a reflection of our commitment to maintaining and improving the Feeds API which will always be a product that we support.
We continue to welcome pull requests from community members in case you want to improve this SDK.
Installation
CocoaPods
For Stream, use the following entry in your Podfile:
for Swift 5:
pod 'GetStream', '~> 2.0'
for Swift 4.2:
pod 'GetStream', '~> 1.0'
Then run pod install.
In any file you’d like to use Stream in, don’t forget to import the framework with import GetStream.
Swift Package Manager
To integrate using Apple’s Swift package manager, add the following as a dependency to your Package.swift:
// Setup a shared Stream client.
Client.config = .init(apiKey: "<#ApiKey#>", appId: "<#AppId#>", token: "<#Token#>")
// Setup a Stream current user with the userId from the Token.
Client.shared.createCurrentUser() { _ in
// Do all your requests from here. Reload feeds and etc.
}
// Create a user feed.
let userFeed = Client.shared.flatFeed(feedSlug: "user")
// Create an Activity. You can make own Activity class or struct with custom properties.
let activity = Activity(actor: User.current!, verb: "add", object: "picture:10", foreignId: "picture:10")
userFeed?.add(activity) { result in
// A result of the adding of the activity.
print(result)
}
// Create a following relationship between "timeline" feed and "user" feed:
let timelineFeed = Client.shared.flatFeed(feedSlug: "timeline")
timelineFeed?.follow(toTarget: userFeed!.feedId, activityCopyLimit: 1) { result in
print(result)
}
// Read timeline and user's post appears in the feed:
timelineFeed?.get(pagination: .limit(10)) { result in
let response = try! result.get()
print(response.results)
}
// Remove an activity by referencing it's foreignId
userFeed?.remove(foreignId: "picture:10") { result in
print(result)
}
Stream Swift Client
stream-swift is a Swift client for Stream.
You can sign up for a Stream account at https://getstream.io/get_started.
API Docs
API Examples
A Feeds integration includes a combination of server-side and client-side code and the interface can vary widely which is why we are no longer focussing on supporting this SDK. If you are starting from scratch we recommend you only use the server-side SDKs.
This is by no means a reflection of our commitment to maintaining and improving the Feeds API which will always be a product that we support.
We continue to welcome pull requests from community members in case you want to improve this SDK.
Installation
CocoaPods
For Stream, use the following entry in your
Podfile
:for Swift 5:
for Swift 4.2:
Then run
pod install
.In any file you’d like to use Stream in, don’t forget to import the framework with
import GetStream
.Swift Package Manager
To integrate using Apple’s Swift package manager, add the following as a dependency to your
Package.swift
:Carthage
Make the following entry in your Cartfile:
Then run
carthage update
.Quick start
More API examples here
Copyright and License Information
Copyright (c) 2016-2018 Stream.io Inc, and individual contributors. All rights reserved.
See the file “LICENSE“ for information on the history of this software, terms & conditions for usage, and a DISCLAIMER OF ALL WARRANTIES.