⑴ 如何在mac程序代码中调用AppleScript脚本
关于AppleScript
说到AppleScript,可能涉及到三个含义:
1.AppleScript语言:就是苹果脚本的语言,用来编写运行于Mac系统的脚本。
2.AppleScript脚本:就是使用AppleScript语言编写的一系列指令。以后简称脚本。
3.AppleScript脚本解释程序:用于解释和执行AppleScript脚本中指令的程序。是Mac系统的原生程序和重要组成部分。下面简称AppleScript脚本程序。
AppleScript Editor
要编写AppleScript脚本,当然就需要编辑工具了,首先打开AppleScript编辑器:
貌似可以使用Xcode编写Cocoa - AppleScript Application,这个暂时还没尝试。我们先从AppleScript编辑器开始。
界面很简单,主要分为工具栏、编辑区和运行结果区。编辑区用来编写脚本,工具栏用来编译和运行脚本等,运行结果区呈现运行结果,这个不用多说了吧。
say和beep
首先来玩两件很好玩的事:让Mac发音和说话。
在编辑区输入以下脚本:
view sourceprint?
1.say "How are you?" using "Zarvox"
2.say "Fine, thank you." using "Victoria"
3.say "Ha Ha"
4.beep
点击工具栏的编译(或Command + K),可以看到脚本变了颜色,具体颜色的含义,可以在偏好设置中查看并设置:
接着点击运行(Command + R运行,Command + .停止运行)。可以看到运行结果区的回复栏中的显示如下:
更加好玩的是Mac系统在自然自语了,还有最后的一声咚。
下面来解释下脚本和运行结果的意思:
view sourceprint?
1.say "说话的内容" using "指定人的嗓音"
这句脚本的意思就是让Mac系统按照指定人的嗓音说出我们指定的说话内容。当然using "..."是可以缺省的。
view sourceprint?
1.beep 发声次数
这句脚本的意思是让Mac系统发出咚的声音,发声次数决定了咚出现的次数,例如beep 2那么Mac会咚两次。发声次数缺省为1。
在运行时回复输出的意思是:
tell表明将以上say和beep的任务交付给current application去完成,也就是AppleScript脚本程序。
tell模块
同样道理,我们可以用tell模块将特定的任务交付给Mac中特定的程序去执行。
tell模块的语法为:
view sourceprint?
1.tell application "Application Name"
2.do your job here
3.end tell
例如我们想让Finder程序清空垃圾篓然后打开磁盘,可以这样写:
view sourceprint?
1.tell application "Finder"
2.empty the trash
3.beep
4.open the startup disk
5.end tell
注意"Finder"的双引号必不可少。
回复输出为:
view sourceprint?
01.tell application "Finder"
02.empty trash
03.--> current application
04.--> error number 0
05.beep
06.--> error number -10004
07.end tell
08.tell current application
09.beep
10.end tell
11.tell application "Finder"
12.open startup disk
13.end tell
可以看到empty the trash任务是交给Finder程序去完成的,而beep任务是交给current application程序去完成,接下来的open the startup disk任务还是交回给Finder程序完成。
在tell模块中的任意位置可以插入beep,say等由current application程序解释执行的语句。
注意,交付给某个程序执行的语句必须在tell模块之内。
错误写法:
view sourceprint?
1.tell application "Finder"
2.empty the trash
3.beep
4.end tell
5.open the startup disk
编译时可以看到没有报错,运行起来看看:
运行结果区的回复输出如下:
view sourceprint?
01.tell application "Finder"
02.empty trash
03.--> current application
04.--> error number 0
05.beep
06.--> error number -10004
07.end tell
08.tell current application
09.beep
10.end tell
11.tell application "AppleScript Editor"
12.open startup disk
13.--> missing value
14.end tell
15.结果:
16.missing value
boot应该由Finder程序去打开,但是由于超出了tell applicaiton "Finder"模块,所以给语句将交由AppleScript Editor程序解释执行,很可惜,AppleScript编辑器无法打开boot,报错。
AppleScript Editor的小技巧
1.使用esc键呼出代码补全菜单
在写te时按下esc键,此时出现代码补全菜单:
2.在编辑区点击右键(或按住control键再点击左键)呼出上下文菜单
在上下文菜单中我们可以将AppleScript语句快速地插入到编辑区中,例如:
也可以将一段语句插入到Tell语句块中,方法是先选中这段语句,再插入到Tell Blocks中:
3.编辑程序的补全和修正功能
你可以输入:
view sourceprint?
1.tell app "Finder"
2.end
在编译后将被替换为:
view sourceprint?
1.tell application "Finder"
2.end tell
在编写AppleScript脚本时,是不区分大小写的,当然在编译过后也会被替换成正确的大小写形式。
这些小技巧都非常有利于快速编写脚本。
保存脚本
写好了程序,当然是保存了。可以在菜单中点击文件 —— 存储(或按快捷键Command + S)。
在保存时有多种文件格式:
保存为脚本格式
如果保存为脚本,那么下次打开文件时还是用AppleScript编辑程序来打开。桌面图标如下:
保存为应用程序格式
如果保存为应用程序,那么最好保留个脚本的,否则将不能用AppleScript Editor来打开编辑。
保存时的对话框如下:
如果选中“显示启动屏幕”,那么以后运行程序前会弹出一个对话框提示:
如果选中“运行处理程序后保持打开”选项,那么在程序运行完毕后会停留在Dock中。
保存的图标和脚本格式不同,如下(少了个纸张背景):
⑵ iOS开发-需要了解的Shell脚本语法
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 脚本(shell script),是一种为 shell 编写的脚本程序。在iOS开发中,我们通常编写一些自动化的脚本文件,来提高我们的生产效率,其本质就是通过Shell脚本对一些 xcodebuild , xcode-select , xcpretty , xcrun 等指令的封装。本篇文章,我们就针对 Shell 脚本的语法,做一些罗列,以辅助我们去完成一些自动化封装。
执行脚本
.sh 文件为 Shell 脚本文件格式,通过 sh 指令执行脚本文件
执行结果:
1.通过 echo 输出变量时,需要使用 $ 或者 ${} 修饰
2. (重点)定义变量时,等号之间不能有空格,不然会误认为变量为一个指令
3.可以直接修改 name 变量的值,即当前 name 默认为 readwrite 权限
4.我们给 _var 用 readonly 修饰后,再修改值会抛出异常
执行结果:
执行结果:
执行结果:
执行结果:
$@ 和 $* 都是输出所有参数,前者是 "$1" "$2" "$3" "$4" ,后者是 "$1 $2 $3 $4"
执行结果:
注意:条件表达式要放在方括号之间,并且要有空格,例如: [$a==$b] 是错误的,必须写成 [ $a == $b ] 。
关于文件检测运算符,这里还是都罗列一下吧,比较重要:
执行结果:
执行结果:
执行结果:
执行结果:
2.有参数
执行结果:
注意: $10 不能获取第十个参数,获取第十个参数需要 ${10} .
使用 man 查询 指令文档
比如我们想查看 xcodebuild 指令下都有哪些操作,直接在终端执行:
当我们不清楚某一个指令下的操作时,就可以通过 man 查询,然后辅助我们来编写 Shell 指令。
在iOS下,了解下这些 Shell 语法就足够了,已经可以帮助我们完成大部分的 Shell脚本 的编写或者阅读别人的 Shell 源码。不需要记忆,简单看下就可以。
⑶ app开发用什么语言好学吗
现在很多开发app技术人员都需要掌握好相对应的技术,目前iOS应用前端是基于object-C的,所以要会OC这个语言,如果是windows应用程序,可以使vc++,c#,vb,开发android用java,开发苹果用object-c,开发web 应用程序用java,c#,php等。
1、基于安卓系统的APP安卓系统APP使用Java语言进行开发,Java语言已经流行了20几年,目前还保持着这种势头,经久不衰。如果想做安卓系统APP必须先掌握Java语言。
2、基于苹果系统的APP要开发苹果系统的APP,需使用苹果公司的xcode开发工具,通常是使用Objective-C或Swift语言开发,Objective-C是C语言衍生出来的,继承了C语言的特性,属于面向对象的语言。
3、Java语言这是在Android平台开发APP应用程序做IAP、广告以及特使系统功能时所需要到的开发语言。一般开发安卓APP应用软件主要使用的编程语言也是Java,如果在开发过程中需要切换语言,可以通过JNI来完成。
4、C++语言这是一款最适合做跨平台APP的开发语言,同时C++也是微软的WindowsPhone系列智能手机主要APP应用程序的开发语言。
5、Scripting这个包括有程序化脚本和其他的脚本语言,所有的开发者都需要时不时的写脚本,这十分方便于一些不熟悉语法的APP软件新手开发者的一个工作,对于他们来说也是非常有必要的一项工作。
6、Objective-C这是适用于IOS智能操作系统的APP开发语言,是苹果APP的主流编程语言。所以如果是要开发IOS APP软件,那么这是必选编程语言。
7、PHP语言众所周知PHP目前已被大量程序员使用,用于大量网站开发中。如果希望应用程序快速,经济地响应客户需求,PHP已经成为不二选择。
⑷ AppleScript权威指南的介绍
AppleScript是每个Mac OS X系统都会自带的功能强大的脚本语言。可以通过它来控制一些主要应用程序,如FileMaker Pro、Apple Mail、iTunes、Photoshop、Quark、InDesign、Word等。这本《AppleScript权威指南》就是一本讲述如何使用 AppleScript 来帮助我们工作的书籍。
⑸ 苹果 6s上的javascript是什么意思
回答:
JavaScript是一种网页脚本语言,
苹果的浏览器都默认开启了javascript,
以确保网页里面的内容都能正常显示和操作。
⑹ 苹果的编程语言 Swift 是用什么开发的
Swift是什么?
Swift是苹果于WWDC 2014发布的编程语言,这里引用The Swift Programming Language的原话:
Swift is a new programming language for iOS and OS X apps that builds on the best of C and Objective-C, without the constraints of C compatibility. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible and more fun. Swift’s clean slate, backed by the mature and much-loved Cocoa and Cocoa Touch frameworks, is an opportunity to imagine how software development works. Swift is the first instrial-quality systems programming language that is as expressive and enjoyable as a scripting language.
简单的说:
Swift用来写iOS和OS X程序。(估计也不会支持其它屌丝系统)
Swift吸取了C和Objective-C的优点,且更加强大易用。
Swift可以使用现有的Cocoa和Cocoa Touch框架。
Swift兼具编译语言的高性能(Performance)和脚本语言的交互性(Interactive)。
Swift语言概览
基本概念
注:这一节的代码源自The Swift Programming Language中的A Swift Tour。
Hello, world
类似于脚本语言,下面的代码即是一个完整的Swift程序。
println("Hello, world")
变量与常量
Swift使用var声明变量,let声明常量
var myVariable = 42 myVariable = 50 let myConstant = 42
类型推导
Swift支持类型推导(Type Inference),所以上面的代码不需指定类型,如果需要指定类型:
let explicitDouble : Double = 70
Swift不支持隐式类型转换(Implicitly casting),所以下面的代码需要显式类型转换(Explicitly casting):
let label = "The width is " let width = 94 let width = label + String(width)
字符串格式化
Swift使用\(item)的形式进行字符串格式化:
let apples = 3 let oranges = 5 let appleSummary = "I have \(apples) apples." let appleSummary = "I have \(apples + oranges) pieces of fruit."
数组和字典
Swift使用[]操作符声明数组(array)和字典(dictionary):
var shoppingList = ["catfish", "water", "tulips", "blue paint"] shoppingList[1] = "bottle of water" var occupations = [ "Malcolm": "Captain", "Kaylee": "Mechanic", ] occupations["Jayne"] = "Public Relations"
一般使用初始化器(initializer)语法创建空数组和空字典:
let emptyArray = String[]() let emptyDictionary = Dictionary<String, Float>()
如果类型信息已知,则可以使用[]声明空数组,使用[:]声明空字典。
控制流
概览
Swift的条件语句包含if和switch,循环语句包含for-in、for、while和do-while,循环/判断条件不需要括号,但循环/判断体(body)必需括号:
let indivialScores = [75, 43, 103, 87, 12] var teamScore = 0 for score in indivialScores { if score > 50 { teamScore += 3 } else { teamScore += 1 } }
可空类型
结合if和let,可以方便的处理可空变量(nullable variable)。对于空值,需要在类型声明后添加?显式标明该类型可空。
var optionalString: String? = "Hello" optionalString == nil var optionalName: String? = "John Appleseed" var gretting = "Hello!" if let name = optionalName { gretting = "Hello, \(name)" }
灵活的switch
Swift中的switch支持各种各样的比较操作:
let vegetable = "red pepper" switch vegetable { case "celery": let vegetableComment = "Add some raisins and make ants on a log." case "cucumber", "watercress": let vegetableComment = "That would make a good tea sandwich." case let x where x.hasSuffix("pepper"): let vegetableComment = "Is it a spicy \(x)?" default: let vegetableComment = "Everything tastes good in soup." }
⑺ applescript和javascript的区别
AppleScript是苹果公司开发的一种脚本语言,可以用来控制运行于Mac OS上的程序,也可以写成独立运行的Applet。最早版本在1993年十月推出,在System 7(System 7.1.1)运行。
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
⑻ 写IOS脚本需要学什么
学基础的编程和计算机原理吧
不然就算你学了点脚本也会走很多弯路的
懂一些基础,写出的脚本更有质量
javascript 不错,另外 推荐 python ,python的功能很强大,可以做相当多的事情
图形方面的,AS也是脚本语言
⑼ 你好,我在无意中看到了Mac自带的脚本编辑器不知道适用什么语言,。
AppScript , JavaScript 脚本语言