Latest 1.2
Homepage https://github.com/xmkevinchen/CKMessagesKit
License MIT
Platforms ios 8.0
Dependencies CKReusable
Frameworks UIKit, QuartzCore
Authors

A Swiftified, open source, Protocol-Orietated Messages UI Kit for iOS

Design Goals

Requirements

  • Swift 3.0
  • Xcode 8
  • iOS 8

Installation

Carthage (Recommended)

github "xmkevinchen/CKMessagesKit"

CocoaPods

platform :ios, '9.0'

target 'Your target' do
  # Comment this line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  pod 'CKMessagesKit', :git => 'https://github.com/xmkevinchen/CKMessagesKit.git', :branch => 'master'

end

post_install do |installer|
  installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
          config.build_settings['SWIFT_VERSION'] = '3.0'
      end
  end
end

Getting Started

Checkout the Sample project in the repository

Use Carthage to download the dependencies of the Sample project

TODO

  1. More build-in message types support
    • Image
    • Video
    • Location
  2. Submit CKMessagesKit to CocoaPods, needs to wait CocoaPods 1.1.0.rc.2 version
  3. Async message content presenting mechanism.
  4. Try to use CKViewLayout protocol to layout message cell, instead of using massive AutoLayout constraint.

Current version

1.2

  • Refactor the message size calculation logic, centralize them into the CKMessageSizeCalculator, remove the logic from CKMessagesViewLayout
  • When connect to hardware keyboard, CKMessagesView now just update its contentInset with input toolbar size

Release Notes


Finally, CKMessagesKit was inspired by JSQMessagesViewController and LayerKit. Thanks to Authors and Contributors

However, there’re some reasons pushing me to create CKMessagesKit by myself

  • Pure Swift implementation, written in Swift 3.0
  • Nested collection UI presentation support, like using UICollectionView, UITableView in UICollectionViewCell to show such Data Card UI design
  • Protocol-Orientated Programming & SOLID Principle strictly follows

Latest podspec

{
    "name": "CKMessagesKit",
    "version": "1.2",
    "license": "MIT",
    "homepage": "https://github.com/xmkevinchen/CKMessagesKit",
    "authors": {
        "Kevin Chen": "[email protected]"
    },
    "summary": "A Swiftified, open source, Protocol-Orietated Messages UI Kit for iOS",
    "source": {
        "git": "https://github.com/xmkevinchen/CKMessagesKit.git",
        "tag": "1.2"
    },
    "platforms": {
        "ios": "8.0"
    },
    "resources": "CKMessagesKit/Resources/**/*.xcassets",
    "source_files": [
        "CKMessagesKit/Sources/**/*.swift",
        "CKMessagesKit/Resources/**/*.xcassets",
        "CKMessagesKit/Sources/**/*.xib"
    ],
    "frameworks": [
        "UIKit",
        "QuartzCore"
    ],
    "dependencies": {
        "CKReusable": []
    }
}

Pin It on Pinterest

Share This