AppleScript学习笔记(一)初识AppleScript
说到AppleScript,可能涉及到三个含义:
1.AppleScript语言:就是苹果脚本的语言,用来编写运行于Mac系统的脚本。
2.AppleScript脚本:就是使用AppleScript语言编写的一系列指令。以后简称脚本。
3.AppleScript脚本解释程序:用于解释和执行AppleScript脚本中指令的程序。是Mac系统的原生程序和重要组成部分。下面简称AppleScript脚本程序。
AppleScript Editor要编写AppleScript脚本,当然就需要编辑工具了,首先打开AppleScript编辑器:

貌似可以使用Xcode编写Cocoa - AppleScript Application,这个暂时还没尝试。我们先从AppleScript编辑器开始。
界面很简单,主要分为工具栏、编辑区和运行结果区。编辑区用来编写脚本,工具栏用来编译和运行脚本等,运行结果区呈现运行结果,这个不用多说了吧。

首先来玩两件很好玩的事:让Mac发音和说话。
在编辑区输入以下脚本:
say "How are you?" using "Zarvox" say "Fine, thank you." using "Victoria" say "Ha Ha" beep点击工具栏的编译(或Command + K),可以看到脚本变了颜色,具体颜色的含义,可以在偏好设置中查看并设置:

接着点击运行(Command + R运行,Command + .停止运行)。可以看到运行结果区的回复栏中的显示如下:

更加好玩的是Mac系统在自然自语了,还有最后的一声咚。
下面来解释下脚本和运行结果的意思:
say "说话的内容" using "指定人的嗓音"这句脚本的意思就是让Mac系统按照指定人的嗓音说出我们指定的说话内容。当然using "..."是可以缺省的。 beep 发声次数
这句脚本的意思是让Mac系统发出咚的声音,发声次数决定了咚出现的次数,例如beep 2那么Mac会咚两次。发声次数缺省为1。
在运行时回复输出的意思是:
tell表明将以上say和beep的任务交付给current application去完成,也就是AppleScript脚本程序。
tell模块同样道理,我们可以用tell模块将特定的任务交付给Mac中特定的程序去执行。
tell模块的语法为:
tell application "Application Name" do your job here end tell例如我们想让Finder程序清空垃圾篓然后打开磁盘,可以这样写: tell application "Finder" empty the trash beep open the startup disk end tell
注意"Finder"的双引号必不可少。
回复输出为:
tell application "Finder" empty trash --> current application --> error number 0 beep --> error number -10004 end tell tell current application beep end tell tell application "Finder" open startup disk end tell可以看到empty the trash任务是交给Finder程序去完成的,而beep任务是交给current application程序去完成,接下来的open the startup disk任务还是交回给Finder程序完成。
在tell模块中的任意位置可以插入beep,say等由current application程序解释执行的语句。
注意,交付给某个程序执行的语句必须在tell模块之内。
错误写法:
tell application "Finder" empty the trash beep end tell open the startup disk编译时可以看到没有报错,运行起来看看:

运行结果区的回复输出如下:
tell application "Finder" empty trash --> current application --> error number 0 beep --> error number -10004 end tell tell current application beep end tell tell application "AppleScript Editor" open startup disk --> missing value end tell 结果: missing valueboot应该由Finder程序去打开,但是由于超出了tell applicaiton "Finder"模块,所以给语句将交由AppleScript Editor程序解释执行,很可惜,AppleScript编辑器无法打开boot,报错。
AppleScript Editor的小技巧 1.使用esc键呼出代码补全菜单在写te时按下esc键,此时出现代码补全菜单:

2.在编辑区点击右键(或按住control键再点击左键)呼出上下文菜单
在上下文菜单中我们可以将AppleScript语句快速地插入到编辑区中,例如:

也可以将一段语句插入到Tell语句块中,方法是先选中这段语句,再插入到Tell Blocks中:

你可以输入:
tell app "Finder" end在编译后将被替换为: tell application "Finder" end tell
在编写AppleScript脚本时,是不区分大小写的,当然在编译过后也会被替换成正确的大小写形式。
这些小技巧都非常有利于快速编写脚本。
保存脚本写好了程序,当然是保存了。可以在菜单中点击文件 —— 存储(或按快捷键Command + S)。
在保存时有多种文件格式:

如果保存为脚本,那么下次打开文件时还是用AppleScript编辑程序来打开。桌面图标如下:

如果保存为应用程序,那么最好保留个脚本的copy,否则将不能用AppleScript Editor来打开编辑。
保存时的对话框如下:

如果选中“显示启动屏幕”,那么以后运行程序前会弹出一个对话框提示:

如果选中“运行处理程序后保持打开”选项,那么在程序运行完毕后会停留在Dock中。
保存的图标和脚本格式不同,如下(少了个纸张背景):

第一篇学习笔记先到这里,后面会继续更新。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/jiaob/ios/9918.shtml
相关文章
热门TAG
命令 权重 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 服务器 网站流量 实例解析 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows SEO优化 蜘蛛 搜索引擎 网站收录 JSP最新文章
-
使用Vmware虚拟机部署Swif
时间:2020-12-27
-
cocos2d-x3.0游戏开发xcode5环
时间:2020-12-27
-
iOS开发UITabBarController详解
时间:2020-12-27
-
推送通知iOS客户端编写实
时间:2020-12-27
-
(译)快速指南:用UIViewPr
时间:2020-12-27
-
iOS中UIWebView加载网络数据
时间:2020-12-27
-
iOS开发 UIActivityViewControl
时间:2020-12-27
-
iOS开发笔记8:Remote Notif
时间:2020-12-27
热门文章
-
iOS中UIWebView加载网络数据技术分享
时间:2020-12-27
-
推送通知iOS客户端编写实现及推送服务器
时间:2020-12-27
-
iOS开发 UIActivityViewController详解
时间:2020-12-27
-
AppleScript学习笔记(一)初识AppleScript
时间:2020-12-27
-
cocos2d-x3.0游戏开发xcode5环境的搭建以及项
时间:2020-12-27
-
(译)快速指南:用UIViewPropertyAnimator做动画
时间:2020-12-27
-
使用Vmware虚拟机部署Swift开发环境之MacO
时间:2020-12-27
-
iOS开发UITabBarController详解
时间:2020-12-27
-
iOS开发笔记8:Remote Notification远程消息推
时间:2020-12-27
