Get Updates By E-mail 

iOS Development Libraries

This category mainly features open source libraries for iOS development. Any library relevant for iOS developers can be posted here, that includes libraries specifically for game development on the iPhone and iPad.

If you would like to add a library please submit it here.

SwiftMonkey – A Swift Based Framework For Random UI Testing

  • 9
  •  
  •  
  •  
  •  

SwiftMonkey is an open source framework for randomly testing an apps user interface from Zalando.

SwiftMonkey is ideal for avoiding unexpected issues with your apps user interface as it will stress test your app with touches and swipes. SwiftMonkey integrates with the Xcode UI testing framework and also allows you to visual the touches.

This animation from the readme shows SwiftMonkey in action:

SwiftMonkey

You can find SwiftMonkey on Github here.

A nice library from random UI testing.


  • 9
  •  
  •  
  •  
  •  

Files – An Open Source Swift Library For Working With Files And Folders

  • 6
  •  
  •  
  •  
  •  

Files is an open source Swift library from John Sundell for working with files ion iOS, macOS and tvOS.

Files provides a straightforward object-oriented API for moving, deleting, reading, and writing files and folders.

This snippet from the readme shows an example of file and folder deletion and creation:

let folder = try Folder(path: "/users/john/folder")
let file = try folder.createFile(named: "file.json")
try file.write(data: wrap(object))
try file.delete()
try folder.delete()

You can find files on Github here.

A great Swift library for working with files.


  • 6
  •  
  •  
  •  
  •  

SwiftRichString – A Swift Library That Simplifies Styling Attributed Strings

  • 12
  •  
  •  
  •  
  •  

SwiftRichString is an open source library submitted by Daniele Margutti that simplifies working with attributed strings.

With SwiftRichString you can style attributed strings using a clear type-safe syntax, combine attributed and non-attributed strings, and more.

This snippet from the readme shows how one could create styles, and apply them to an attributed string with SwiftRichString:

// Define your own used styles
let bold = Style("bold", {
  $0.font = FontAttribute(.CourierNewPS_BoldItalicMT, size: 30) // font + size
  $0.color = UIColor.red // text color
  $0.align = .center // align on center
})

let italic = Style("italic", {
  $0.font = FontAttribute(.CourierNewPS_ItalicMT, size: 25)
  $0.color = UIColor.green
})

let attributedString = ("Hello " + userName).set(style: bold) + "\nwelcome here".set(style: italic)

You can find SwiftRichString on Github here.

A great library for working with attributed strings.


  • 12
  •  
  •  
  •  
  •  

SwiftyCam – A Swift Library That Simplifies Photo And Video Capture With Some Great Extra Features

  •  
  •  
  •  
  •  
  •  

SwiftyCam is an open source Swift library from Andrew Walz providing an inspired iOS camera framework with an extensive feature set inspired by Snapchat.

SwiftyCam dramatically simplifies setting up an app for photo and video caprure.

Some of the features of SwiftyCam include:

Video and image capturing
Front and rear flash
Retina flash
Manual zoom using gestures
Manual focus on a tapped point
A low light booster
Manual image quality settings

You can find SwiftyCam on Github here.

A great library for camera apps.


  •  
  •  
  •  
  •  
  •  

RhythmBox – A Swift Library That Simplifies Creating Music Rhythm Patterns

  •  
  •  
  •  
  •  
  •  

RhythmBox is an open source Swift library submitted by Manuel Escrig that simplifies the creation of rhythm patterns.

To use RhythmBox you simply need to assign a beat, and an optional sub beat and time signature and RhythmBox will execute your code at the correct time intervals. There are also further subdivisions for different note durations.

This example from the readme shows how one could create a RhythmBox at 90 bpm with a 3/4 time signature further subdividing into eigth notes:

let rhythmBox = RhythmBox(bpm: 90, timeSignature: (3,4), subdivision: "011")
rhythmBox.perform {CurrentBeat, CurrentSubBeat, CurrentNote in

<pre><code>print("CurrentBeat", CurrentBeat)
return .resume
</code></pre>

}

You can find RhythmBox on Github here.

A useful library for music apps.


  •  
  •  
  •  
  •  
  •