Swift AppleScript内存泄漏

时间:2019-02-11 12:31:37

标签: swift memory-leaks applescript

我正在尝试运行AppleScripts并获取脚本返回值的Swift Mac应用程序。 我正在从Spotify应用程序获取信息(歌曲名称,曲目时间等) 我每秒运行一次脚本(使用sleep(1))。我正在根据这些数据创建一个对象,并将结果打印到调试中。 该模型类被取消了初始化(我在deinit方法中使用了一条打印语句。唯一的解释是运行AppleScript的方法以某种方式泄漏了内存:

func shell(arguments: [String]) -> String?
    {
        let task = Process()
        task.launchPath = "/usr/bin/osascript"
        task.arguments = arguments

        let pipe = Pipe()
        task.standardOutput = pipe
        task.launch()

        var data = pipe.fileHandleForReading.readDataToEndOfFile()
        let output = String(data: data, encoding: String.Encoding.utf8)

        return output?.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
    }

在调试区域我也收到错误:osascript[2268:70490] AppleEvents: received mach msg which wasn't complex type as expected in getMemoryReference.

我正在Mojave和High Sierra上进行测试,还对Archive(存档)进行了测试-到处保存结果,该应用程序的内存占用量一直在增加,直到操作系统将其终止(30-60分钟后)。 即使我停止运行脚本,也无法释放内存。 您能帮我解决内存泄漏问题吗? 任何建议都非常感谢。

0 个答案:

没有答案