Sapling Logo

Grammar Checking in Swift / iOS

Swift / iOS

Swift is a compiled programming language developed by Apple as a replacement for Objective-C. It is used with Cocoa and Cocoa Touch frameworks for application development for iOS and macOS platforms.

Sapling: AI Writing Assistant

With Sapling, you can add grammar or spell checking functionality to an existing Swift / iOS application.

This page demonstrates a quick way to integrate grammar and spell checking functionality into a Swift / iOS application using Sapling's API. If you are not looking for a Swift / iOS guide, click here for guides for other programming languages.

Sapling does not currently maintain a Swift / iOS-specific SDK, but you can access the Sapling Grammar Checking HTTP API using any programming language that supports HTTP POST requests. An example is shown below.

Setup Steps

Swift / iOS Grammar Check Quickstart

import Foundation
#if canImport(FoundationNetworking)
  import FoundationNetworking
#endif

let json: [String: Any] = [
    "key": "<API_KEY>",
    "text": "Lets get started!",
    "session_id": "Test Document UUID"
]

let jsonData = try JSONSerialization.data(withJSONObject: json)

let url = URL(string: "https://api.sapling.ai/api/v1/edits")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("\(String(describing: `jsonData`.count))", forHTTPHeaderField: "Content-Length")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
    print("URLSession dataTask")
    guard let data = data, error == nil else {
      print("No data")
      return;
    }
    let responseJSON = try? JSONSerialization.jsonObject(with: data, options: [])
    if let responseJSON = responseJSON as? [String: Any] {
        print(responseJSON)
    }
}
task.resume()

Returned result:

{
    "edits":[
      {
          "end":4,
          "error_type":"R:OTHER",
          "general_error_type":"Other",
          "id":"aa5ee291-a073-5146-8ebc-c9c899d01278",
          "replacement":"Let's",
          "sentence":"Lets get started!",
          "sentence_start":0,
          "start":0
      }
    ]
}

Documentation

Addtional parameters and Sapling's full API documentation can be accessed here: https://sapling.ai/docs