当我使用脚本编辑器打开 iMovie 时发现的垃圾是什么?
What is this rubbish I find when I open iMovie with script editor?
所以我只是在摆弄脚本编辑器来尝试一些苹果脚本。所以我想用脚本编辑器打开 iMovie,这样我就可以将它保存为 iMovie 的调整版本,但是当我尝试用脚本编辑器打开 iMovie 时,它给了我这个:
œ˙Ì˛Ä)ÿÖ H__PAGEZERO__TEXTpp__text__TEXTxOÄ__stubs__TEXTxlLxlÄ__stub_helper__TEXTƒq‰ƒqÄ__const__TEXT∞z∞z__objc_methname__TEXT¿àf!¿à __cstring__TEXT&™w€&™__objc_classname__TEXTùÖùÖ__objc_methtype__TEXT∞£ºX∞£__ustring__TEXTl¸Xl¸__gcc_except_tab__TEXTƒ¸ú(ƒ¸__unwind_info__TEXT%@6
%__eh_frame__TEXT†[X†[à__DATAppP__nl_symbol_ptr__DATApp‚__got__DATApHp‰__la_symbol_ptr__DATAX|X|m__mod_init_func__DATAhÉhÉ __const__DATApÉ@ pÉ__cfstring__DATA∞£ ø∞£__objc_classlist__DATA–bP–b__objc_catlist__DATA kh k__objc_protolist__DATAàkàk__objc_imageinfo__DATAxmxm__objc_const__DATAÄm
Äm__objc_selrefs__DATA‡âXå‡â__objc_protorefs__DATA8 8__objc_classrefs__DATAX∠X__objc_superrefs__DATA%%__objc_ivar__DATAp+†$p+__objc_data__DATAP SP__data__DATA0£ê0£__bss__DATA¿º†__common__DATA
¬H__LINKEDIT–¿Pπ "Ä0¿®,®Ïp}j»‡Éòµ U ¨p@ëP##ó∫+pCO /usr/lib/dyld#€ "ƒÊ6TûŸπwëí¬+$
这只是剧本的 1/1000。所以出于好奇,有人可以向我解释这是什么吗?如果有办法翻译这个?
Click here to view the script
iMovie(以及大多数其他应用程序)不是用 AppleScript 编写的,而是通过编译许多源文件(例如 Objective-C 或 Swift)和资产,然后组装各个部分来构建的带有构建系统。在 Apple 的设置中,所有这些都由 Xcode 执行。就像烤蛋糕一样,一旦编译,就很难从成品中提取出原来的成分。
看起来你用 TextEdit 打开了一个二进制文件(脚本编辑器不会打开它们),但你也会在 TextEdit 中打开 .scpt
文件时得到一堆垃圾,因为它们也是编译(到中间代码)。如您所见,脚本的文本表示不同于保存在脚本文件中的编译版本,也不同于二进制可执行文件。
所以我只是在摆弄脚本编辑器来尝试一些苹果脚本。所以我想用脚本编辑器打开 iMovie,这样我就可以将它保存为 iMovie 的调整版本,但是当我尝试用脚本编辑器打开 iMovie 时,它给了我这个:
œ˙Ì˛Ä)ÿÖ H__PAGEZERO__TEXTpp__text__TEXTxOÄ__stubs__TEXTxlLxlÄ__stub_helper__TEXTƒq‰ƒqÄ__const__TEXT∞z∞z__objc_methname__TEXT¿àf!¿à __cstring__TEXT&™w€&™__objc_classname__TEXTùÖùÖ__objc_methtype__TEXT∞£ºX∞£__ustring__TEXTl¸Xl¸__gcc_except_tab__TEXTƒ¸ú(ƒ¸__unwind_info__TEXT%@6
%__eh_frame__TEXT†[X†[à__DATAppP__nl_symbol_ptr__DATApp‚__got__DATApHp‰__la_symbol_ptr__DATAX|X|m__mod_init_func__DATAhÉhÉ __const__DATApÉ@ pÉ__cfstring__DATA∞£ ø∞£__objc_classlist__DATA–bP–b__objc_catlist__DATA kh k__objc_protolist__DATAàkàk__objc_imageinfo__DATAxmxm__objc_const__DATAÄm
Äm__objc_selrefs__DATA‡âXå‡â__objc_protorefs__DATA8 8__objc_classrefs__DATAX∠X__objc_superrefs__DATA%%__objc_ivar__DATAp+†$p+__objc_data__DATAP SP__data__DATA0£ê0£__bss__DATA¿º†__common__DATA
¬H__LINKEDIT–¿Pπ "Ä0¿®,®Ïp}j»‡Éòµ U ¨p@ëP##ó∫+pCO /usr/lib/dyld#€ "ƒÊ6TûŸπwëí¬+$
这只是剧本的 1/1000。所以出于好奇,有人可以向我解释这是什么吗?如果有办法翻译这个?
Click here to view the script
iMovie(以及大多数其他应用程序)不是用 AppleScript 编写的,而是通过编译许多源文件(例如 Objective-C 或 Swift)和资产,然后组装各个部分来构建的带有构建系统。在 Apple 的设置中,所有这些都由 Xcode 执行。就像烤蛋糕一样,一旦编译,就很难从成品中提取出原来的成分。
看起来你用 TextEdit 打开了一个二进制文件(脚本编辑器不会打开它们),但你也会在 TextEdit 中打开 .scpt
文件时得到一堆垃圾,因为它们也是编译(到中间代码)。如您所见,脚本的文本表示不同于保存在脚本文件中的编译版本,也不同于二进制可执行文件。