Skip to content

dtsbourg/JSQMessagesViewController

 
 

Repository files navigation

JSQMessagesViewController banner

Build Status Version Status license MIT

Update: 6.0-beta6 is out! See #476 for details.

Messages Screenshot 1     Messages Screenshot 2

More screenshots available at CocoaControls

Features

See the website for the list of features.

Dependencies

Requirements

  • iOS 7.0+
  • ARC

Need support for iOS 6? You shouldn't. But, there's a branch for that!

git checkout iOS6_support_stable

Note: the iOS6_support_stable branch does not include many of the latest hip and fancy features or fixes

Installation

pod 'JSQMessagesViewController'

Otherwise, drag the JSQMessagesViewController/ folder to your project. Install JSQSystemSoundPlayer and add the QuartzCore.framework.

NOTE:

This repo was formerly named MessagesTableViewController.

And this pod was formerly named JSMessagesViewController.

For iOS 6.0 support:

pod 'JSMessagesViewController', :git => 'https://github.com/jessesquires/JSQMessagesViewController.git', :branch => 'iOS6_support_stable'

Getting Started

#import <JSQMessagesViewController/JSQMessages.h>    // import all the things
  • Demo project

    • There's a fucking sweet demo project: JSQMessages.xcworkspace.
    • Run pod install first.
  • Model

    • Your model objects should conform to the JSQMessageData protocol.
    • Your media attachment model objects should conform to the JSQMessageMediaData protocol.
    • However, you may use the provided classes:
      • Model: JSQTextMessage and JSQMediaMessage
      • Media attachments: JSQPhotoMediaItem, JSQLocationMediaItem, JSQVideoMediaItem
  • View Controller

    • Subclass JSQMessagesViewController.
    • Implement the required methods in the JSQMessagesCollectionViewDataSource protocol.
    • Implement the required methods in the JSQMessagesCollectionViewDelegateFlowLayout protocol.
  • Customizing

    • The demo project is well-commented. This should help you configure your view however you like.

Documentation

Read the fucking docs, available here via @CocoaDocs.

Contribute

Please follow these sweet contribution guidelines.

Donate

Support the development of this free, open-source library!

Donations made via Square Cash

Send $5 Just saying thanks. Here's a coffee!

Send $10 This library is great. Lunch is on me!

Send $25 This totally saved me time. Go get a nice dinner!

Send $50 I love this library. I want new features!

Send $100 I really want to support this project!

>*You can also send donations via [PayPal](https://www.paypal.com) to jesse.squires.developer@gmail.com*

Credits

Created by @jesse_squires, a programming-motherfucker.

About

I initially developed this library to use in Hemoglobe for private messages between users.

As it turns out, messaging is something that iOS devs and users really want. Messaging of any kind has turned out to be an increasingly popular mobile app feature in all sorts of contexts and for all sorts of reasons. Thus, I am supporting this project in my free time and have added features way beyond what Hemoglobe ever needed.

Feel free to check out my work at Hexed Bits, or read my blog.

Apps using this library

License

JSQMessagesViewController is released under an MIT License. See LICENSE for details.

Copyright © 2014 Jesse Squires.

Please provide attribution, it is greatly appreciated.

Packages

No packages published

Languages

  • Objective-C 99.7%
  • Ruby 0.3%