Skip to content

GiphySwift allows you to interact with the Giphy API on iOS

License

Notifications You must be signed in to change notification settings

mseijas/GiphySwift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GiphySwift

GiphySwift allows you to interact with the Giphy API on iOS

GiphySwift Example GiphySwift Gif Search

##Installation

####CocoaPods (iOS 9+, OS X 10.9+) You can use CocoaPods to install GiphySwiftby adding it to your Podfile:

platform :ios, '9.0'
use_frameworks!

target 'MyApp' do
    pod 'GiphySwift'
end

Note that this requires CocoaPods version 36, and your iOS deployment target to be at least 9.0

##Usage

###Configuration You need to configure GiphySwift to use your Giphy API Key. In order to release your application to production, you will need to request a Production Key from Giphy. Instructions to do so can be found here.

####Development For development purposes you can use Giphy's Public Beta Key

Giphy.configure(with: .publicKey)

####Production For production purposes you will need to specify your private access key

Giphy.configure(with: .private(key: "dc6zaTOxFJmzC"))

##Requesting Gifs

There are five different endpoint through which you can request Gifs:

You can read more about Giphy's endpoints here.

####Request Results All GiphySwift requests return a GiphyResult enum, that will indicate if the request was successful or not, encapsulating the data from the response or any errors thrown:

public enum GiphyResult<T> {
    case success(result: T, properties: GiphyResultProperties?)
    case error(_: Error)
}

####Trending Use the following command to retreieve Trending Gifs:

Giphy.Gif.request(.trending) { result in
    switch result {

    case .success(result: let gifs, properties: let paginationProperties):
        // DO SOMETHING WITH RESULTS
        displayTableView(with: gifs)

    case .error(let error):
        print(error)

    }
}

####Search Use the following command to search for Gifs:

Giphy.Gif.request(.search("cats")) { result in
    switch result {

    case .success(result: let gifs, properties: _):
        // DO SOMETHING WITH RESULTS
        displayTableView(with: gifs)

    case .error(let error):
        print(error)

    }
}

####Translate Use the following command to translate text into Gifs:

Giphy.Gif.request(.translate("hello")) { result in
    switch result {

    case .success(result: let gifs, properties: _):
        // DO SOMETHING WITH RESULTS
        displayTableView(with: gifs)

    case .error(let error):
        print(error)

    }
}

####By ID You can retrieve Gifs by passing in a single Gif ID as a String, or passing in an array of IDs.

Giphy.Gif.request(.withId("3o7qDPfGhunRMZikI8")) { result in
    switch result {

    case .success(result: let gifs, properties: _):
        // DO SOMETHING WITH RESULTS
        displayTableView(with: gifs)

    case .error(let error):
        print(error)

    }
}

####Random Use the following command to request a Random Gif. You can optionally submit a tag as a search string to limit your random results to a particular query.

Giphy.Gif.request(.random(tag: "superstar")) { result in
    switch result {

    case .success(result: let gifs, properties: _):
        // DO SOMETHING WITH RESULTS
        displayTableView(with: gifs)

    case .error(let error):
        print(error)

    }
}

##Requesting Stickers

There are four different endpoint through which you can request Stickers:

  • Trending
  • Search
  • Translate
  • Random

You can read more about Giphy's endpoints here.

To request Stickers, use the same command as those for requesting Gifs, but specifying the Sticker endpoint.

For example:

Giphy.Sticker.request(.trending) { result in
    switch result {

    case .success(result: let gifs, properties: let paginationProperties):
        // DO SOMETHING WITH RESULTS
        displayTableView(with: gifs)

    case .error(let error):
        print(error)

    }
}

Author

Matias Seijas

Mail: [email protected]
Website: mseijas.com
Twitter: @mseijas_

License

GiphySwift is available under the MIT license. See the LICENSE file for more info.

About

GiphySwift allows you to interact with the Giphy API on iOS

Resources

License

Stars

Watchers

Forks

Packages

No packages published