 
 // Write the files out to the project directory
 
-let projectDirectory = currentDirectory.stringByDeletingLastPathComponent
-let classesDirectory = projectDirectory.stringByAppendingPathComponent("Pod/Classes")
+let projectDirectory = (currentDirectory as NSString).stringByDeletingLastPathComponent
+let classesDirectory = (projectDirectory as NSString).stringByAppendingPathComponent("Pod/Classes")
 
 let baseFileName = "BONSpecial"
-let headerFileName = baseFileName.stringByAppendingPathExtension("h")!
-let implementationFileName = baseFileName.stringByAppendingPathExtension("m")!
-let headerFilePath = classesDirectory.stringByAppendingPathComponent(headerFileName)
-let implementationFilePath = classesDirectory.stringByAppendingPathComponent(implementationFileName)
+let headerFileName = (baseFileName as NSString).stringByAppendingPathExtension("h")!
+let implementationFileName = (baseFileName as NSString).stringByAppendingPathExtension("m")!
+let headerFilePath = (classesDirectory as NSString).stringByAppendingPathComponent(headerFileName)
+let implementationFilePath = (classesDirectory as NSString).stringByAppendingPathComponent(implementationFileName)
 
 do {
     try! headerOutputString.writeToFile(headerFilePath, atomically: true, encoding: NSUTF8StringEncoding)

            let swiftCharacter = Character(UnicodeScalar(self))

            let theCFMutableString = NSMutableString(string: String(swiftCharacter)) as CFMutableString
            CFStringTransform(theCFMutableString, nil, kCFStringTransformToUnicodeName, 0)

            let characterName = theCFMutableString as String
            var trimmedName = characterName

    let script = Process.arguments[0];

    if script.hasPrefix("/") { // absolute
        let path = (script as NSString).stringByDeletingLastPathComponent
        return path
    }
    else { // relative
