我移植了一些Objective-c / CoreGraphics代码,它带有多个显示器的屏幕截图,但它不起作用。 jsctypes家伙将无法提供帮助,因为该部分只是我回答问题lol
objc / cg代码来自此处:https://stackoverflow.com/a/28247749/1828637
我的jsctypes类型/ struct / declares在这里:https://github.com/Noitidart/NativeShot/blob/mac-troubleshooting/modules/ostypes_mac.jsm
jsctypes端口在这里:https://github.com/Noitidart/NativeShot/blob/mac-troubleshooting/modules/workers/MainWorker.js#L443-656
最后一行是第643行导致崩溃:
var rez_writeToFile = ostypes.API('objc_msgSend')(data, ostypes.HELPER.sel('writeTofile:atomically:'), myNSStrings.get(OS.Path.join(OS.Constants.Path.desktopDir, 'full_ss.png')), ostypes.CONST.YES);
这与
的目标一致[data writeToFile:@"/tmp/screenshot.png" atomically:YES];
除了我将路径更改为... desktop / ... png
我写信给sepearte gists,对齐文本差异软件中的行以确保我做了所有事情。
我不认为我错过任何我不知道为什么它会在最后一行崩溃
任何ObjC / CG人都会看到任何错误的类型定义或我遗漏的内容(例如ObjC代码使用复合语句,我不确定我是否理解/在端口中正确翻译它们)。
答案 0 :(得分:0)
选择中的套管拼写!!我有writeTofile:atomically
而不是writeToFile:atomically
!
如果有人想测试一下,那就是一个简单的firefox插件测试用例。