Skip to content
This repository has been archived by the owner on Oct 5, 2019. It is now read-only.

Twitter Kit is a native SDK to include Twitter content inside mobile apps.

License

Notifications You must be signed in to change notification settings

twitter-archive/twitter-kit-ios

Repository files navigation

Twitter will be discontinuing support for Twitter Kit on October 31, 2018. Read the blog post here.

Twitter Kit for iOS

Background

Twitter Kit is a native SDK to include Twitter content in mobile apps. Twitter Kit is designed to make interacting with Twitter seamless and efficient.

Using Twitter Kit from source in production applications is not officially supported. Please utilize the official binaries released via CocoaPods or Carthage.

Twitter Kit Features

  • Display Tweets and timelines
    • Native views to display Tweets in alignment with Twitter's display guidelines.
    • Timeline adapters for displaying collections, lists, and profile timelines from the Twitter API
    • Search result timelines using the Search API, with additional client-side filter capability
  • Compose Tweets
    • Share Tweets with text, URLs, photos and video.
    • Automatically handles API access and login for quick sharing.
  • Monetize with MoPub integration
    • Easy integration of MoPub's display ads tools with Twitter content.
  • Log in with Twitter
    • Authorize users, using the Twitter accounts already on their phone.
    • Support for requesting email address
  • Access the Twitter API
    • API client for all interactions with the Twitter API.

Components of Twitter Kit iOS

  • TwitterCore
    • Network calls are handled
  • TwitterKit
    • Tweet display
  • TwitterShareExtensionUI
    • Tweet composer

Installation

Get started

Install using Cocoapods

To add Twitter Kit to your app, simply add TwitterKit to your Podfile.

target 'MyApp' do
  use_frameworks!
  pod 'TwitterKit'
end

Install using Carthage

To install Twitter Kit for iOS using Carthage, add the following lines to your Cartfile. For more information about how to set up Carthage and your Cartfile, see here.

binary "https://ton.twimg.com/syndication/twitterkit/ios/TwitterKit.json"
binary "https://ton.twimg.com/syndication/twitterkit/ios/TwitterCore.json"

After running carthage update, add TwitterKit.framework and TwitterShareExtensionUI.framework to the Linked Frameworks and Binaries section under General of your App target. In addition to that, make sure that when you are adding the copy-frameworks run script for Carthage that you add the following input paths:

$(SRCROOT)/Carthage/Build/iOS/TwitterCore.framework
$(SRCROOT)/Carthage/Build/iOS/TwitterKit.framework
$(SRCROOT)/Carthage/Build/iOS/TwitterShareExtensionUI.framework

Make sure that the run script phase is after your Link Binaries with Libraries phase to prevent issues with properly archiving your iOS application.

Preview Twitter Kit Features in the Demo App

Twitter Kit includes a demonstration app allowing you to preview features, and verify functionality. Create Twitter API keys as above, and then:

  • To check out a demo app with features already built in, rename DemoApp/Config.xcconfig.sample to DemoApp/Config.xcconfig and populate the consumer key and secret.
  • Run DemoApp.xcworkspace on Xcode to verify build.

Code of conduct

This, and all github.com/twitter projects, are under the Twitter Open Source Code of Conduct. Additionally, see the Typelevel Code of Conduct for specific examples of harassing behavior that are not tolerated.

Contribution

The master branch of this repository contains the latest stable release of Twitter Kit.

Twitter Kit can be used as a dependency for substantial other work, and we welcome fixes and enhancements to the core libraries as well. See CONTRIBUTING.md for more details about how to contribute.

Contact

For usage questions post on Twitter Community. Please report any bugs as issues. Follow @TwitterDev on Twitter for updates.

License

Copyright 2017 Twitter, Inc. Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0