项目作者: hirotakan

项目描述 :
MessagePack serializer implementation for Swift. msgpack.org[Swift]
高级语言: Swift
项目地址: git://github.com/hirotakan/MessagePacker.git
创建时间: 2018-12-17T08:08:54Z
项目社区:https://github.com/hirotakan/MessagePacker

开源协议:MIT License

下载


MessagePacker

Build Status
Swift 5.0
License
Carthage compatible
Cocoapods
SwiftPM
Platforms

MessagePacker is a MessagePack encoder & decoder for Swift and supports Codable.

Usage

  1. import MessagePacker
  2. struct Coordinate: Codable {
  3. var latitude: Double
  4. var longitude: Double
  5. }
  6. struct Landmark: Codable {
  7. var name: String
  8. var foundingYear: Int
  9. var location: Coordinate
  10. }
  11. let input = Landmark(
  12. name: "Mojave Desert",
  13. foundingYear: 0,
  14. location: Coordinate(
  15. latitude: 35.0110079,
  16. longitude: -115.4821313
  17. )
  18. )
  19. let data = try! MessagePackEncoder().encode(input)
  20. let landmark = try! MessagePackDecoder().decode(Landmark.self, from: data)
  21. print([UInt8](data))
  22. print(landmark)
  23. // [131, 164, 110, 97, 109, 101, 173, 77, 111, 106,
  24. // 97, 118, 101, 32, 68, 101, 115, 101, 114, 116,
  25. // 172, 102, 111, 117, 110, 100, 105, 110, 103, 89,
  26. // 101, 97, 114, 0, 168, 108, 111, 99, 97, 116,
  27. // 105, 111, 110, 130, 168, 108, 97, 116, 105, 116,
  28. // 117, 100, 101, 203, 64, 65, 129, 104, 180, 245,
  29. // 63, 179, 169, 108, 111, 110, 103, 105, 116, 117,
  30. // 100, 101, 203, 192, 92, 222, 219, 61, 61, 120, 49]
  31. // Landmark(
  32. // name: "Mojave Desert",
  33. // foundingYear: 0,
  34. // location: MessagePackerTests.Coordinate(
  35. // latitude: 35.0110079,
  36. // longitude: -115.4821313
  37. // )
  38. // )

Installation

Carthage

Add the following to your Cartfile:

  1. github "hirotakan/MessagePacker"

CocoaPods

Add the following to your Podfile:

  1. pod 'MessagePacker'

SwiftPM

Add MessagePacker as a dependency:

  1. import PackageDescription
  2. let package = Package(
  3. name: "YourApp",
  4. dependencies: [
  5. .Package(url: "https://github.com/hirotakan/MessagePacker.git", majorVersion: 0),
  6. ]
  7. )

Requirements

  • Swift 5.0 or later
  • iOS 8.0 or later
  • macOS 10.10 or later
  • tvOS 9.0 or later
  • watchOS 2.0 or later

License

MessagePacker is released under the MIT license. See LICENSE for details.