     guard let generatorDeviceList = readPropertyList() else { return }
     let tabSpacing = "    "
     let unknownCase = "UNKNOWN"
+    let simulateCase = "SIMULATOR"
     var deviceList: [String: [String: AnyObject]] = [:]
     var externString = ""
     var externDefString = ""

import Foundation

// MARK: - Functions

func readPropertyList() -> [String: [String: AnyObject]]? {
    var propertyListFormat =  PropertyListSerialization.PropertyListFormat.xml

    }


    var enumString = "typedef NS_ENUM(NSUInteger, Hardware) {\n\n"

    // Get devices by device type
    let iPhoneModels = getUniqueSortedModels(havingPrefix: "iPhone", from: generatorDeviceList)
    iPhoneModels.forEach {
        enumString += "\n\(tabSpacing)\($0.enumCase),"
    }
    enumString += "\n"

    let iPodModels = getUniqueSortedModels(havingPrefix: "iPod", from: generatorDeviceList)
    iPodModels.forEach {
        enumString += "\n\(tabSpacing)\($0.enumCase),"
    }
    enumString += "\n"

    let iPadModels = getUniqueSortedModels(havingPrefix: "iPad", from: generatorDeviceList)
    iPadModels.forEach {
        enumString += "\n\(tabSpacing)\($0.enumCase),"
    }
    enumString += "\n"

    let watchModels = getUniqueSortedModels(havingPrefix: "Watch", from: generatorDeviceList)
    watchModels.forEach {
        enumString += "\n\(tabSpacing)\($0.enumCase),"
    }
    enumString += "\n"

    let appleTVModels = getUniqueSortedModels(havingPrefix: "AppleTV", from: generatorDeviceList)
    appleTVModels.forEach {
        enumString += "\n\(tabSpacing)\($0.enumCase),"
    }
    enumString += "\n"
    enumString += "\n\(tabSpacing)\(simulateCase),"
    enumString += "\n\(tabSpacing)\(unknownCase)"
    enumString += "\n};"

    let dirPath = "../Source/"
