Nevyn Bengtsson

4pods

Cerfing

I like constructing simple network protocols from plist/json-safe dictionaries, and transmit them over a socket as json, with as little framing as possible. Easy to prototype with, easy to debug. Give Cerfing an AsyncSocket, and it:

  • Will wrap the socket to send JSON-serialized dictionaries over it
  • Has a simple request-response system
  • Supports Arbitrary NSData attachments
  • Has an automatic 'delegate dispatching' feature, where the correct ObjC method is called based on the contents of the incoming method (very simplistic RPC)

It can also:

  • Support other serializations than JSON;
  • Be interleaved with another network protocol
  • Wrap other socket libraries than AsyncSocket using a 'transport' abstraction.

License: BSD

  • Objective C

CoreDragon

CoreDragon is a drag'n'drop library for iOS applications. Instead of using context menus, modal view controllers, share sheets and other "indirect manipulation" ways of moving data around, it's much more intuitive to just grab the thing you want to move, and drop it on the place where you want to move it to.

CoreDragon uses similar concepts as the drag'n' drop APIs on MacOS, and modifies them to work better in a world with view controllers. It works within a single application, and on modern iPads, between applications that are running in split screen mode.

License: Apache 2

  • Objective C

MeshPipe

MeshPipe is an IPC (inter-process communication) library for iOS using UDP networking. It allows multiple running applications on a single iOS device to send arbitrary data to each other. It:

  • Automatically connects to all other MeshPipe apps that are configured with the same port
  • Detects when other apps disconnect or disappear, giving you a list of available peers

Since it is based on UDP, there are some hard-wired limitations:

  • Message must fit within a single UDP datagram. The current UDP datagram max size on iOS is 9216 bytes.
  • Delivery is not guaranteed. Messages may or may not get through, may arrive from seemingly unavailable peers, or arrive out of order.
  • You may receive malicious or unexpected data, as any app on the phone could craft a message and send it to your app.
  • Communication is insecure, and any app on the device might listen in or even change messages.

License: BSD

  • Objective C

SPSuccinct

Object-based KVO tools, some functional programming tools, macros for "plain old data" literals, , and SPDepends.

License: MIT

  • Objective C