`
sogotobj
  • 浏览: 661996 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

iOS--wiki的描述

 
阅读更多

原网址是:http://zh.wikipedia.org/wiki/IOS

转过来对新进入这个领域的开发人员做个科普。

iOS是由苹果公司iPhone开发的操作系统。它主要是给iPhoneiPod touchiPad以及Apple TV使用。就像其基于的Mac OS X操作系统一样,它也是以Darwin为基础的。原本这个系统名为iPhone OS,直到2010年6月7日WWDC大会上宣布改名为iOS[1][2]iOS的系统架构分为四个层次:核心操作系统层(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer)。系统操作占用大概240MB的存储器空间。[3]

目录

用户界面

iOS的用户界面的概念基础上是能够使用多点触控直接操作。控制方法包括滑动、轻触开关及按键。与系统交互包括滑动(Swiping)、轻按(Tapping)、挤压(Pinching)及旋转(Reverse Pinching)。此外通过其自带的加速器,可以令其旋转设备改变其y轴以令屏幕改变方向,这样的设计令iPhone更便于使用。

屏幕的下方有一个home按键,底部则是dock,有四个用户最经常使用的程序的图标被固定在dock上。屏幕上方有一个状态栏能显示一些有关信息,如时间、电池电量和信号强度等。其余的屏幕用于显示当前的应用程序。启动iPhone应用程序的唯一方法就是在当前屏幕上点击该程序的图标,退出程序则是按下屏幕下方的home键。在第三方软件退出后,它直接就被关闭了,但在iPhone 3.0及后续版本中,当第三方软件收到了新的消息时,苹果公司的服务器将把这些通知推送至iPhone或iPod Touch上(不管它是否正在运行中)。在iPhone上,许多应用程序之间都是有联系的,这样不同的应用程序能够分享同一个消息(如当你收到了包括一个电话号码的短信时,你可以选择是将这个电话号码存为联络人或是直接选择这个号码打一通电话)。

[编辑]版本历史

版本 SDK
组建编号 固件编号 发布日期 支持
iPhone / iPod Touch 支持
iPhone 3G / iPod Touch 2G 支持
iPhone 3GS / iPod Touch 3G 支持
iPhone 4 / iPod Touch 4G 支持
iPhone 4S 支持
iPad 支持
iPad 2 支持
Apple TV 2G 1.0 1.0.1 1.0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 2.0 2.0.1 2.0.2 2.1 2.1.1 2.2 2.2.1 3.0 3.0.1 3.1 3.1.2 3.1.3 3.2 3.2.1 4.0 4.0.1 4.1 4.2.1 4.2.5 4.2.6 4.2.7 4.2.9 4.3 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 5.0
1A543a 03.11.02_G 2007年6月29日 O - - - - - - -
1C25 03.12.08_G 2007年7月31日 O - - - - - - -
1C28 03.14.08_G 2007年8月21日 O - - - - - - -
3A100a
3A101a
2007年9月14日 O - - - - - - -
3A109a
3A110a
04.01.13_G 2007年9月27日 O - - - - - - -
3B48b 04.02.13_G 2007年11月12日 O - - - - - - -
4A93 04.03.13_G 2008年1月15日 O - - - - - - -
4A102 04.04.05_G 2008年2月26日 O - - - - - - -
4B1 2008年7月15日 O - - - - - - -
5A347 04.05.04_G
01.45.00
2008年7月11日 O O - - - - - -
5B108 04.05.04_G
01.48.02
2008年8月4日 O O - - - - - -
5C1 04.05.04_G
02.08.01
2008年8月18日 O O - - - - - -
5F136
5F137
9M2517
04.05.04_G
02.11.07
2008年9月9日 O O - - - - - -
5F138 2008年9月9日 O O - - - - - -
5G77
5G77a
04.05.04
02.28.00
2008年11月21日 O O - - - - - -
5H11
5H11a
9M2621a
04.05.04_G
02.30.03
2009年2月27日 O O - - - - - -
7A341 04.05.04_G
04.26.08
2009年6月17日 O O O - - - - -
7A400 04.05.04_G
04.26.08
2009年7月31日 O O O - - - - -
7C144
7C145
04.05.04_G
5.11.04
5.11.07
2009年9月9日 O O O - - - - -
7D11 04.05.04_G
5.11.07
2009年10月8日 O O O - - - - -
7E18 05.12.01 2010年1月2日 O O O - - - - -
7B367 06.15.00 2010年1月27日 X X X - - O - -
7B405 06.15.00 2010年6月21日 X X X O - - - -
8A293 05.13.04 2010年7月15日 X O O O - O - -
8A306 05.13.04 2010年7月16日 X O O O - O - -
8B117 05.14.02 2010年9月8日 X O O O - O - -
8C148a 05.15.04 2010年11月23日 X O O O - O - -
8E128 - 2011年1月11日 X X X O(仅支持 CDMA iPhone 4) - X - -
8E200 - 2011年2月1日 X X X O(仅支持 CDMA iPhone 4) - X - -
8E303 - 2011年4月14日 X X X O(仅支持 CDMA iPhone 4) - X X X
8E501 - 2011年7月16日 X X X O(仅支持 CDMA iPhone 4) - X X X
8F190 05.16.01 2011年3月10日 X X O O(CDMA iPhone 4 除外) - O O O
8G4 04.10.01 2011年3月26日 X X O O(CDMA iPhone 4 除外) - O O O
8H7 05.16.02 2011年4月15日 X X O O(CDMA iPhone 4 除外) - O O O
8J2 05.16.02 2011年5月5日 X X O O(CDMA iPhone 4 除外) - O O O
8K2 05.16.02 2011年7月16日 X X O O(CDMA iPhone 4 除外) - O O O
8L1 05.16.02 2011年7月26日 X X O O(CDMA iPhone 4 除外) - O O O
9A334 04.11.08 2011年10月12日 X X O O O O O O

支持的软件

iPhone和iPod Touch使用基于ARM架构中央处理器,而不是苹果的麦金塔计算机使用的x86处理器(就像以前的PowerPCMC680x0),它使用由PowerVR视屏卡渲染的OpenGL ES 1.1[4]。因此,Mac OS X 上的应用程序不能直接复制到iOS上运行。他们需要针对iOS的ARM重新编写。但就像下面所提到的,Safari浏览器支持“Web应用程序”。从iOS 2.0开始,通过审核的第三方应用程序已经能够通过苹果的App Store进行发布和下载了。

iOS自带的应用程序

在4.1版本中,iPhone的主接口包括以下自带的应用程序:SMS(短信)、日历、照片、相机、YouTube、股市、地图(AGPS辅助的Google地图)、天气、时间、计算器、备忘录、系统设置、iTunes(将会被链接到iTunes Music Store和iTunes广播目录)、App Store以及联络信息。还有四个位于最下方的常用应用程序包括有:电话、MailSafariiPod[5]

在4.2版本中,新增了Game Center、FaceTime。

在4.3版本中,新增了个人热点、Ping功能。其中个人热点功能,需配搭 iPhone 4 才能使用。

除了电话、短信,iPod Touch保留了大部分iPhone自带的应用程序(第四代的iPod Touch新增了相机和FaceTime)。iPhone上的"iPod"程序在iPod Touch上被分成了两个:音乐和视频。位于主界面最下方dock上的应用程序也根据iPod Touch的主要功能而改成了:音乐、Mail、Safari、视频。

iPad只保留部分iPhone自带的应用程序:日历、通信录、备忘录、视频、YouTube、iTunes Store、App Store以及设置;四个位于最下方的常用应用程序是:SafariMail、照片和iPod

iPad 2 增设了相机镜头,所以亦补回了相机、FaceTime应用程序。

Web应用程序

在2007年苹果全球开发者大会上,苹果宣布iPhone和iPod Touch将会通过Safari网络浏览器支持某些第三方应用程序,这些应用程序被称为Web应用程序。它们能通过AJAX网络技术编写出来。[6]

不被Apple支持的第三方软件

iOS上本来只能从App Store用官方的方法安装完整的软件。[7]然而,自iOS起步之日开始,就已经有App Store以外第三方软件可以在iPhone上运行。[8]这些软件面临着被任何一次iOS更新而完全破坏的可能性, 虽然苹果也曾经说明过它不会为了破坏这些第三方软件而专门设计一个系统升级(会将SIM解锁的软件除外)。[9]这些第三方软件发布的方法是通过InstallerCydia utilities,这两个程序会在iPhone越狱之后被安装到iPhone上。

iPhone 软件开发工具包

基于Xcode 3.1最终版本的iPhone软件开发工具包。

2007年10月17日,史蒂夫·乔布斯在一封张贴于苹果公司网页上的公开信上宣布软件开发工具包。它将在2008年2月提供给第三方开发商。软件开发工具包于2008年3月6日发布,并允许开发人员开发iPhone和iPod touch的应用程序,并对其进行测试,名为“iPhone手机模拟器”。然而,只有在付出了iPhone手机开发计划的费用后,应用程序才能发布。自从Xcode 3.1 发布以后,Xcode就成为了iPhone软件开发工具包的开发环境。

软件开发工具包的历史

在2008年3月6日,iPhone的软件开发工具包在苹果大会堂会议正式宣布。第一个Beta版本是iPhone SDK 1.2b1(build 5A147p)它在发布后立即就能够使用了,但是同时推出的App Store所需要的固件更新则直到2008年7月11日才发布。对于iPhone用户,这个更新是免费的;然而,iPod touch的用户则需要为更新付出9.99美元。

发布日期 版本编号 更改
2008年3月27日 2.0b2
Beta 2
首发,发布iOS 2.0b2 (build 5A225c)
2008年4月8日 2.0b3
Beta 3
发布iOS 2.0b3 (build 5A240d)
2008年4月23日 2.0b4
Beta 4
发布iOS 2.0b4 (build 5A258f)
2008年5月6日 2.0b5
Beta 5
发布iOS 2.0b5 (build 5A274d)
2008年5月29日 2.0b6
Beta 6
发布iOS 2.0b6 (build 5A292g)
2008年6月19日 2.0b7
Beta 7
发布iOS 2.0b7 (build 5A331)
2008年6月26日 2.0b8
Beta 8
发布iOS 2.0b8 (build 5A345)
2008年7月24日 2.1
Beta 1
发布iOS 2.1 (build 5F90)
2008年7月30日 2.1
Beta 2
发布iOS 2.1
2008年8月8日 2.1
Beta 3
发布iOS 2.1
2008年9月25日 2.2
Beta 1
发布iOS 2.2 (Build 5G29)
2008年11月20日 2.2 发布iOS 2.2 (build 9M2621)
2009年1月27日 2.2.1 发布iOS 2.2.1 (build 9M2621a)
2009年3月17日 3.0
Beta 1
发布iOS 3.0的预览版及SDK 3.0的测试版
2009年3月31日 3.0
Beta 2
发布iOS 3.0的预览版
2009年4月14日 3.0
Beta 3
发布iOS 3.0的预览版
2009年4月28日 3.0
Beta 4
发布iOS 3.0的预览版
2009年5月6日 3.0
Golden Master
Seed
iOS 3.0的最终版(只给开发商和私人测试)
2009年6月17日 3.0
Final
iOS 3.0的最终版(公开版)
2009年7月31日 3.0.1 修复SMS漏洞
2009年6月30日 3.1
Beta 1
发布iOS 3.1的预览版
2009年7月15日 3.1
Beta 2
发布iOS 3.1的预览版
2009年7月28日 3.1
Beta 3
发布iOS 3.1的预览版
2009年9月9日 3.1
Final
发布iOS 3.1的最终版(公开版)
2010年3月10日 3.2
Beta 4
发布 iOS 3.2 预览版
2010年3月17日 3.2
Beta 5
发布 iOS 3.2 预览版
2010年6月21日 4.0
Final
发布 iOS 4.0 最终版(公开版)
2010年9月10日 4.1
Final
发布 iOS 4 第一次重大升级: iOS4.1
2010年11月1日 4.2.1
Final
发布 iOS 4 第二次重大升级: iOS4.2.1
2011年1月13日 4.3
Beta1
发布 iOS 4.3 预览版
2011年1月20日 4.3
Beta2
发布 iOS 4.3 预览版
2011年2月2日 4.3
Beta3
发布 iOS 4.3 预览版
2011年6月6日 5.0
Final
发布 iOS 5.0 最终版(公开版)

SDK的内容

由于iOS是从于Mac OS X核心演变而来,因此开发工具也是基于Xcode

该SDK可分类为下列几大项:

和Xcode工具一样,SDK开发工具中包含的iPhone模拟器用来在开发人员的电脑上模拟iPhone的外观和感觉。最初它被称为阿斯模拟器(Aspen Simulator),它被重命名于BETA2版中发布的SDK。

请注意,iPhone模拟器并不是一个用于运行x86目标代码的工具。

该SDK需要拥有英特尔处理器且运行Mac OS X Leopard系统的Mac才能使用。其他的操作系统,包括微软Windows操作系统和旧版本的Mac OS X都不被支持。

版权

SDK本身是可以免费下载的,但为了发布软件,开发人员必须加入iPhone开发者计划,其中有一步需要付款以获得苹果的批准。加入了之后,开发人员们将会得到一个牌照,他们可以用这个牌照将他们编写的软件发布到苹果的App Store。发布软件一共有三种方法: 通过App Store,通过企业配置仅在企业内部员工间应用,也可通过基于"Ad-hoc"而上载至多达100部iPhones。

这个发布iPhone软件的形式的出现使人们不能根据GPLv3的授权代码发布软件。任何根据GPLv3任何代码的开发者也必须得到GPLv3的授权。同时,开发商在散发布已经由GPLv3 授权的应用软件的同时必须提供由苹果公司提供的密匙以允许该软件修改版本的上载。[10]

Core Location

Core Location是Mac OS X中其中一个软件框架。它主要用来存储应用程序在iOS 2.0检测设备的位置。它作为iPhone软件路线图在2008年3月6日开发者大会上宣布,并成为了iPhone的软件开发包的一部分。

Java

苹果至今仍没有宣布任何让iPhone运行Java的计划。但太阳微系统已宣布其将会发布能在iPhone上运行的Java虚拟机 (JVM)的计划,它是基于Java的Micro Edition版本。这将让用Java应用程序得以在iPhone和iPod Touch上运行。[11]

在这个计划发表之后,熟悉iOS软件开发协议的程序员们相信虽然iOS软件开发协议不允许应用程序后台运行(比如说在接电话的时候仍然运行程序),[12] 但却允许自带的应用程序从其他的来源下载代码,而且它们还能与第三方应用程序相互作用(比如说Safari和Java虚拟机),这可能会阻碍不与苹果合作的Java虚拟机的发展[13]。 很明显,在iPhone运行的Java在iOS软件开发协议所规定的范畴以外。这个条列是规定3.3.2,其内容如下:

3.3.2 — 无论如何,应用程序都不能自己安装或者启动其他任何可运行的代码,包括没有限制的插件架构的使用,别的架构,应用程序接口或者其他任何形式。除了苹果发行的应用程序接口和内置的解释器,所有翻译码都不能经应用程序下载或使用。

然而,一些iPhone用户已经表明通过越狱的方式,iPhone能安装和运行Java ME。在iPhone使用Java的可能性通过太阳计算机系统公司和苹果的会谈逐渐透露了出来,目前太阳计算机公司正通过一个叫做Innaworks的公司为此目标而进行努力。[14][15]奇怪的是,iPhone使用的ARM处理器自身包括一个Java内置的硬件加速环境。[16].

Flash

Flash Professional CS5内曾经一度被中断开发的iOS软件输出功能,由于现在Apple已经开放第三方开发工具的使用,Adobe已经决定恢复此功能的开发作业。不过Apple目前仍未开放在浏览器内运行Flash内容。现时可以使用iPhone第三方程式jailbreak观看flash动画。

SVG

从iPhone2.1固件开始,iPhone版Safari开始支持SVG。该SVG支持SVG 1.1的编码特征和大部分静态功能。但它的图形界面还不支持SMIL动画。这需要等SMIL引擎足够成熟之后才能被支持。除SVG外,还支持HTML Canvas

参考文献

  1. ^ iPhone OS 4重命名为iOS4 引入微软Bing 新浪科技
  2. ^ 顺应广大子民需求,iPhone OS改名为iOS,iOS 4六月二十一号上路!瘾科技中文版
  3. ^Haslam, Karen. Macworld Expo: Optimised OS X sits on ' versatile' flash. Macworld. January 12, 2007[2007-10-15].
  4. ^ Dr. Dobb's. OpenGL and Mobile Devices: Round 2 (OpenGL ES for the iPhone and iPod Touch).
  5. ^ Apple Inc..iPhone Applications. 2008-07 -10 [2008-07-11].
  6. ^ Ziegler, Chris.Apple announces third-party software details for iPhone , Engadget, (2007-06-11), 于2007年6月20日查阅.
  7. ^ Baig, Edward C./edwardbaig/2007-06-26-iphone-review_N.htm Apple's iPhone isn't perfect, but it's worthy of the hype,USA Today, (2007-06-26 )
  8. ^ Healey, Jon. [http:// www.latimes.com/news/opinion/la-oew-healey6aug06,0,3456267.story Hacking the iPhone].Los Angeles Times. 2007-08-06[2007-08-06].
  9. ^ Apple's Joswiak: We Don't Hate iPhone Coders
  10. ^ Willis, Nathan. The iPhone SDK and free software: not a match. Linux.com. 2008-04-15 [2008-06-05].
  11. ^ Krill, Paul. Sun: We'll put Java on the iPhone. Infoworld. 2008-03-08 [2008-03-08].
  12. ^ Krazit, Tom. The iPhone SDK: The day after. CNet. 2008-03-07 [2008-03-29].
  13. ^ Krill, Paul. Sun's plan for Java on iPhone could hit roadblock. The Industry Standard. 2008-03-14[2008-03-29].
  14. ^ Kizito Kasozi, Emmanuel. Apple, Sun Talks Gives Hope for Java on iPhone. ibtimes.com. 2008-04-28 [2008-08-31].
  15. ^ Innaworks announces Java Development Solution for iPhone.Innaworks. 2008-03-28[2008-08-31].
  16. ^ Ryan, Block. iPhone processor found: 620MHz ARM CPU. engadget.com. 2007-07-01 [2009-01-02].

外部链接

分享到:
评论

相关推荐

    Texture-KR-Wiki:Texture(AsyncDisplayKit)维基英语

    描述 保持最复杂的iOS用户界面流畅和响应。 欢迎来到Texture-kr。 质地? Texture(又名AsyncDisplayKit)是一个iOS UI框架,用于实现平滑响应的界面。 主键是使用户界面成为线程安全的。 这意味着UI组件的测量和...

    服务器推送通知到Android和IOS

    C#源代码共享 百度云推送到Android和IOS ,有IOS 和 安卓 具体推送例子 接口详细描述 http://developer.baidu.com/wiki/index.php?title=docs/cplat/push/api/list#push_msg

    深入剖析 iOS 性能优化 · ming1016:study Wiki1

    时间复杂度是衡量算法效率的一个关键指标,它描述了算法执行时间与输入数据量之间的关系。在iOS开发中,当处理的数据量未知或者可能非常大时,优化时间复杂度就显得尤为重要。例如,在一个公开接口中,如果使用了...

    starwars-wiki-expo

    描述 StarWars Wiki 它是在 DevRiseWeek 期间开发的一个项目。 主要功能是展示 StarWars 电影和角色,您可以将它们添加到您最喜欢的列表中。 在 5 天内,我们使用 Expo (React Native) 对其进行了编码。 有用的链接...

    各平台iOS(分享功能)接口调研报告1

    【各平台iOS(分享功能)接口调研报告】 在当今移动应用开发中,分享功能已经成为...3. 腾讯开放平台 iOS API:[http://wiki.open.qq.com/index.php?title=iOS_API%E8%B0%83%E7%94%A8%E8%AF%B4%E6%98%8E&oldid=46716]...

    react-native-spinkit:React Native的动画加载指示器集合

    手动链接-iOS 按照提供的Wiki进行操作 手动链接-Android 按照提供的Wiki进行操作 例子 检查Example文件夹中的 。 特性 Struts 默认 类型 描述 是可见的 true boolean 旋转器的可见性 颜色 #000000 string ...

    iPhone3,1_SHSH_6.1.3(10B329).rar

    标题 "iPhone3,1_SHSH_6.1.3(10B329).rar" 和描述中的信息,明显与苹果公司的iPhone设备以及iOS操作系统有关。这里的"SHSH"代表"System Software SHAttered SHadow",是Apple用于验证设备固件升级的一种安全机制。在...

    SDK配置说明文档_IOS1

    然而,描述中提到了Android的配置步骤。在Android工程中,配置SDK涉及到修改AndroidManifest.xml文件,但这里特别提到使用了一个模板文件AndroidManifest.template.xml。在这个文件中,你需要添加必要的权限声明,以...

    needle-agent:针安全评估框架的iOS代理

    描述NeedleAgent是与iOS安全测试框架互补的开源iOS应用程序。 它允许needle以编程方式在设备上本地执行任务,而无需第三方工具。 代理充当服务器的角色,该服务器侦听来自needle(或任何其他TCP客户端)的TCP连接。 ...

    markdown-master OC

    - **Git仓库**:GitHub和GitLab等版本控制系统支持Markdown,方便创建项目Wiki和Issue描述。 4. **Markdown编辑器** - **在线编辑器**:像Dillinger和Typora这样的在线工具,实时预览Markdown效果。 - **桌面...

    IOS 集成微信支付功能的实现方法

    在开始集成前,首先访问微信支付官方文档(https://pay.weixin.qq.com/wiki/doc/api/index.html)下载适用于iOS的SDK及示例项目。按照文档指示,将SDK导入到你的Xcode项目中,确保所有必要的库和框架被正确引用。 ...

    hmoon99_github_com-源码.rar

    如果是移动应用,我们可能会涉及Android的Java或Kotlin,或者iOS的Swift或Objective-C。 另外,源码中可能包括版本控制(如Git)、自动化构建(如Webpack或Gradle)、测试框架(如JUnit或Mocha)、部署策略(如...

    wda-notes:与philliplabwda相关的注释和任务

    描述中提到了“vimwiki格式”,Vimwiki是一个在Vim编辑器中创建和管理wiki的工具。Vimwiki文件通常以".wiki"为扩展名,可以用来记录笔记、创建待办事项列表等。在这个上下文中,"index.wiki"很可能是这个项目的主...

    Chef-System:Chef System是一款用于管理由IONIC 2+开发的餐厅的应用程序

    厨师系统Chef System是一款基于IONIC 2框架的应用程序开发,用于管理餐厅 欢迎来到Chef-System Wiki!描述Chef-System是一个完整的应用程序,您可以在其中通过手机管理餐厅的账单。 该应用程序尚未完成,但包含3个...

    lambdanative:LambdaNative是用Scheme编写的跨平台开发环境,支持Android,iOS,BlackBerry 10,OS X,Linux,Windows,OpenBSD,NetBSD,FreeBSD和OpenWrt

    介绍LambdaNative是用Scheme( )编写的开源(经BSD许可)跨平台开发环境,支持Android,iOS,BlackBerry 10,OS X,Linux,Windows,OpenBSD,NetBSD,FreeBSD和OpenWrt。 如果您在自己的工作中使用LambdaNative...

    DKScrollingTabController.zip

    9. **文档与示例**:虽然描述中并未提及具体的文档或示例,但通常开源项目会提供README文件或wiki页面,详细介绍如何使用和配置DKScrollingTabController,有时还会附带简单的演示项目。 总之,...

    macOS Server 5.9 App Store 原版下载压宿

    macOS Server for macOS 和 iOS 设备而设计,让你能轻松共享文件,安排会议,同步通讯录,开发软件,托管自己的网站,发布 Wiki,配置 Mac、iPhone 和 iPad 设备,远程访问网络,还可做到更多。 macOS Server 是...

    f.c.e365中英对照

    根据标题“f.c.e365中英对照”及描述中的信息,我们可以得知这是一款名为“f.c.e365”的软件,主要为苹果手机用户提供了一套完整的中英文对照表,方便用户理解各项功能和技术术语。该软件涵盖了多个用于管理和恢复...

    SEPR-LYS-A4:这是情绪化的。 最后的境界

    Libgdx是一个跨平台的游戏开发框架,用于创建桌面、Android、iOS等平台的应用程序。 libgdx提供了丰富的功能,包括2D/3D图形渲染、物理引擎、音频处理、输入管理等,非常适合开发游戏或交互式应用。如果项目使用了...

Global site tag (gtag.js) - Google Analytics