iOS校园范文(精选7篇)
iOS校园 第1篇
移动互联网软件市场的发展极为迅速,而且App应用也会愈加细化,此时很多校园移动应用软件应运而生[1]。比如:超级课程表、新浪公开课、有道云笔记等,然而至今还没有一款基于IOS的综合性办公学习OA平台[2]。
计科通以此为背景出发,通过对其他同学和相关老师的调查分析,得出本平台软件的用户需求和期望,并转换成相应的可行性功能,进而自主创新研发一款IOS移动办公学习App。院系师生可通过分配的账号登录该软件,对自己的信息进行修改;通过通讯录联系他人;直接浏览及时的系部要闻、系部公告、就业信息、系部资料;给指定用户共享相应内容;登录用户可以在不同的聊天室群聊。
1需求分析说明
随机对计算机科学 与应用系 若干师生 进行询问、调查,并对询问和调查结果加以收集和整理,得到用户需求。根据分析得到的需求,大致确定对系统的综合要求。
本软件主要分为十 大功能模 块,并具备三 大特色功能,分别是多功能通讯录功能、课程表功能、聊天室功能。而其它功能模块包含:用户登录、个人信息修改、系部要闻、系部公告、就业信息、系部资料、分享转发、关于我们、友情链接。
2概要设计方案
项目的概要设计是确定软件系统的基本框架,主要针对软件需求分析中提出的一系列软件问题,概要地回答如何去解决。
2.1总体设计
该OA平台是基于IOS手机端的应用开发,因而采用了目前IOS主流的平面化简约风格。同时也参考现有一些优秀的软件设计风 格,达到功能 与视觉效 果双赢的 目的。
软件风格具体设计则采用类似网易新闻的框架模式,右侧滑动主页变小,左侧菜单呈现动画效果;系部要闻模块采用瀑布流风格,通过瀑布 流图片点 击进去就 是新闻情。聊天室采用O2O群聊天室效果,通过选择聊天室直接进行聊天。计科通功能模块如图1所示。
2.2计科通软件流程
图2为此OA管理软件的操作流程图,用户通过自己的账户成功登录进入首页,然后可分别对首页展示功能以及左侧菜单隐藏功能进行相应的查看、创建、打电话、发短信等操作。
3详细设计方案
本详细设计方案的编写目的是为了说明一个软件系统各个层次中每一个程序 (每个模块或子程序)的详细设计,以向系统实现(编码和测试)阶段提供关于程序实现方式的详细描述,从而成为编码的技术基础。
3.1计科通软件功能介绍
用户直接登录,无注册功能,分教师和学生两种角色。修改个人信息功能:对自己的个人信息进行相应的修改并保存。通讯录功能:分部门机 构和通讯 人员两种 类别展示,并可以借助其打电话、聊天。学生查看课程表功能:根据不同的学期选择查看不同的课程安排。聊天室功能:通过通讯录选择参与者新建一个聊天室,可以实现群聊。总体而言,计科通功能模块中有4个信息展示模块:系部公告、系部资料、系部要闻、就业信息,展示系部发布的主要信息,让用户能够及时获取重要信息;3个特色功能模块:通讯录、课程表、聊天室,方便用户日常生活办公学习,以体现本软件的实际价值。其它功能都为软件辅助功能和必备功能。
3.2主要功能详细实现
有两种方法可以实现查看主页左侧菜单列表:1点击左上角菜单按钮;2手势右滑首页界面。首页界面等比例缩小,左侧菜单界面呈现;点击任意菜单,菜单列表逐渐被掩盖,主界面变大铺满全屏,呈现出所选内容。
聊天室功能模块主要通过后台新建聊天室,用户登录后进入聊天室界面可以看到不用类型的聊天模块,点击不同聊天模块进入相应的聊天界面,就可实现群聊。
3.3系统安全性研究
系统安全性[3]具体包括 系统安全 内容、安全威 胁类型、数据加密技术、访问控制技术和计算机病毒等内容。该OA系统后台服务器为阿里云独立服务器,阿里云服务器为了保障服务器数据的稳定与安全,会每天定期做数据备份,以防客户网站发生数据丢失或损坏,为客户网站提供了数据安全保障。作为前端的IOS系统是一个封闭系统,不允许网络插件、垃圾新闻干扰和病毒的传播,从而保证了系统的防病毒安全性能。
4性能测试和分析
iOS校园 第2篇
关键词:智能,iOS校园,系统设计
随着移动互联网的发展, 各类智能移动终端设备不断出现。在移动端运行的应用程序能为人们的工作和学习带来诸多便利。本文设计了一个基于苹果i OS平台的面向大学校园的校园信息服务系统, 介绍了系统的架构设计和功能模块。该系统能令用户快速获取校园资讯, 并提供了个人信息管理、课程与成绩查询等功能。
1 系统架构
在研究部署手机端的应用之前, 校园已完成了部分信息化建设, 原有的系统主要基于B/S结构设计, 在服务器端使用三层结构设计, 如图1所示。
1.1 接口层
i OS客户端使用ASIHTTPRequest类库中的ASIForm Data Request以实现HTTP协议的POST操作。通过向服务器发送异步请求加载数据。数据被编码为“application/x-wwwform-urlencoded”发送, 当需要向服务器上传文件时, 需要将数据编码格式更改为“multipart/form-data”。
客户端的数据全部通过服务器接口层向服务器提交, 收到数据后服务器会使用业务逻辑层的方法处理数据并最后将结果返回。
1.2 业务逻辑层
业务逻辑层用来进行有效性验证, 以保证输入的合法性, 提高了系统的健壮性。同时, 获取接口层传入的参数, 对数据完成格式化、合法性和完整性验证以及CRUD。无论是客户端通过接口层的传入, 还是从数据持久层的传出, 业务逻辑层都使用特有的方法将数据转化成JSON字符串。
1.3 数据库访问层
数据访问负责管理数据库与业务逻辑层之间的通讯, 封装数据源访问方法, 提供对象持久化功能。
通过分层设计, 将不同的业务彻底分开, 使得开发人员可以专注于整个结构中的某一层, 使整个系统更容易修改、更有扩展性, 达到了高内聚, 低耦合设计思想。
1.4 i OS系统的特性
i OS是苹果公司基于UNIX内核开发的专门针对智能移动终端的操作系统。i OS的系统架构分为四个层次:核心操作系统层、核心服务层、媒体层和可触摸层 (Cocoa Touch) 。其中Cocoa Touch为应用程序开发提供了各种框架。在Cocoa Touch中, 大部分功能使用Objective-C实现, 同时MVC设计模式被应用到了极致。Core Data简化了很多应用程序的Model部分的设计;Application Kit包含了View, Controller通用的一些类。Foundation提供了对操作系统接口、NSObject基类、脚本支持以及其他特性的访问。
2 客户端模块
客户端系统主要有用户登录及登陆后信息查询组成。登录模块设计为首页, 已注册用户必须在登录后才能继续操作。学生用户成功登录后可查看通知公告、进行教务信息查询、图书信息查询。在上述主要模块中, 还包含有若干子模块。
2.1 登录模块
登录模块为系统提供了一个登录界面, 此部分包含三种业务。
(1) 用户登录:用户通过输入用户名和密码登录到系统。
(2) 忘记密码:当用户忘记登录密码时, 可通过回答注册时设置的密码提示问题重设密码。
(3) 用户注册:新用户可通过填入昵称、密码等信息完成注册。
2.2 信息查询
(1) 通知公告浏览:显示校园的通知公告信息列表, 包括新闻标题、新闻主要内容、发布时间、发布部门等。
(2) 成绩查询:成绩查询是此系统中的重要模块。当用户点击后, 能查询到用户的成绩, 上学期课程名称等。
(3) 课程查询:该子模块用来查询本学期课程表, 包括课程名称、上课地点、时间等。
(4) 考试查询:此模块用来查询考试安排。点击后可查看本学期的考试课、考查课、选修课考试安排。
(5) 图书借阅查询:包含两部分内容, 图书检索和借阅信息查询。检索时, 需调用图书检索请求接口, 访问现有校园图书管理系统请求检索, 返回检索信息后在终端显示。进行借阅信息查询时, 将显示用户已经借阅的图书的相关信息。在距离归还时间3天时发送提醒信息, 用户可自行设置提醒频率。
3 数据库设计
在i OS系统中使用SQLite数据库进行数据存取, SQLite是一种轻量级的适合移动设备使用的嵌入式数据库。同时, i OS平台在其核心服务层集成了SQLite数据库, 这也为数据库设计带来了很大的方便。在此系统上, 使用的是第三方的FMDB, 它基于SQLite构建, 是对SQLite的封装。相对原生SQLite API来说, 更加友好直观, 便于Objective-C开发者调用。本客户端应用在移动端数据库中存有用户信息表、课程表、图书信息表, 将不常发生变化的数据存入本地数据库, 以达到节约流量的目的。
4 结束语
本文设计实现的基于i OS平台的校园信息服务系统, 着眼于规模不大的高职院校。这些学校中多数都已经进行了部分信息化校园的建设, 但由于前期建设时没有做到统一规划, 教务信息管理、学生信息管理以及图书信息管理往往是分离的, 该系统在保持原信息化校园建设的基础上, 从不同的系统中获取数据, 使校园生活更加方便, 以达到服务学生的目的。
参考文献
[1]张旭红.面向移动平台的新闻资讯系统设计与实现[D].北京:北京交通大学, 2012.
[2]段学东, 何九周.基于敏捷思想的i OS平台软件的设计与实现[J].计算机技术与发展, 2012 (09) :53-58.
iOS校园 第3篇
Cisco IOS作为思科路由器的操作系统,为网络管理员提供了一系列强大的网络管理功能,Cisco IOS软件在许多功能上使用了访问控制列(ACL)。访问控制列表使用包过滤技术,在路由器上读取第三层及第四层包头中的信息,根据预先定义好的规则对包进行过滤,从而达到访问控制的目的。通过在核心路由器上运用访问控制列表,可以很好的实现校园网中的安全策略,控制网络流量,保护校园网的安全。
1 访问控制列表的作用及应用规则
1.1 访问控制列表的作用
1)实现数据报过滤,限制用户访问某些外部网段、端口、应用服务器,或者限制外部数据报存取内部网络的某些网段、端口、应用服务器。防火墙一般都有该项功能。
2)在路由器的接口上控制报文的传输。
3)控制VTY的访问。
4)限制路由更新的内容。
1.2 访问控制列表的应用规则
1)所有访问控制列表的最后都隐含有一个deny,这在配置文件中是看不到的。
2)对访问控制列表的匹配是自上而下按顺序进行的,当找到匹配规则时将停止进一步的比较。
3)没有定义任何条目的访问控制列表表示允许所有的数据。
4)出站过滤仅对转发数据报有效,不会影响路由器自身产生的数据报。
5)配置访问控制列表时应当按照从一般到特殊的顺序,特殊的列表项总是添加在访问控制列表的最后,使得大部分分组能与前面的列表项匹配,减少比较的时间和开销。
2 标准IP访问控制列表
标准访问控制列表是根据数据包的源地址进行匹配,路由器检查分组的源地址,并与标准访问控制列表进行比较和匹配,然后决定丢弃或转发。
2.1 标准访问控制列表的基本语法
Router(config)#access-list access-list-number{deny|permit}source[source-wildcard][log]
或者使用any来代表源地址和通配符掩码0.0.0.0 255.255.255.255
Router(config)#access-list access-list-number{deny|permit}any[log]
其中,access-list-number是1~99之间的整数,source-wildcard用于掩去源地址中不需要匹配的位。俺码中为1的位表示不予理会的地址位,而为0的位标记出必须准确匹配的地址位。关键字log用于让路由器向主控台或者其他日志设备发送消息。
标准ACL占用路由器资源很少,是一种最基本最简单的访问控制列表格式。应用比较广泛,经常在要求控制级别较低的情况下使用。如果要更加复杂的控制数据包的传输就需要使用扩展访问控制列表了,他可以满足我们到端口级的要求[1]。
2.2 使用标准的IP访问控制列表控制VTY(Telnet)访问
在校园网的日常管理中,管理员通常不希望网络中所有主机能够Telnet到核心路由器上,以保证路由器的安全,为此,我们可以创建一个标准IP访问控制列表,只允许那些你希望的主机能够远程登录到路由器。使用sccess-class命令将此访问控制列表用到VTY线路,就可以实现这一功能。在路由器上的具体配置如下:
Cisco(config)#access-list 60 permit 172.18.158.83
Cisco(config)#line vty 0 4
Cisco(config-line)#access-class 60 in
通过以上的配置,不仅实现了只有网络中172.18.158.83这台主机才能Telnet到核心路由器上,而且只有试图Telnet到路由器的数据包才会被查看和比较,在不影响路由器的数据传传输的同时,还限制了校园网内其他人员非法登录到核心路由器,增强了校网的安全性。
3 扩展访问控制列表
标准访问控制列表是基于分组的IP地址进行过滤的,是最简单的ACL。那么如果我们希望将过滤细到端口或者希望对数据包的目的地址进行过滤,那么这就需要使用扩展访问控制列表了。使用扩展IP访问控制列表可以有效的允许用户访问校园网而不允许他使用某个特定服务(例如WWW,FTP等)。扩展IP访问控制列表根据源和目的地址、协议、TCP/UDP协议中的源和目的端口等参数进行匹配[2]。
3.1 扩展访问控制列表的基本语法:
Router(config)#access-list access-list-number{deny|permit}protocol source source-wildcard destination destination-wildcard[prece-dence precedence][tos tos][established][log|log-input][time-range time-range-name][fragments]
其中,access-list-number是100~199之间的整数,time-range表示相应规则在指定时间内适用。其他主要配置参数的意思如下:
a)deny|permit。对匹配的分组,指定允许或拒绝。
b)protocol。用于定义要过滤的协议,可以包含如下的关键字之一:eigrp、gre、icmp、igmp、ip、ipinip、nos、ospf、pim、tcp或者udp,也可以包含0-255之间的一个整数,以表示一个IP协议。
c)source source-wildcard。source/source-wildcard指示一个源网络地址,数据报的源地址若被该网络地址覆盖,即下面的等式成立(&是按位与,!是按位取反):源地址&(!source-wildcard)==source,则视为数据报与该源地址匹配。可使用any来代表值为0.0.0.0 255.255.255.255的source source-wildcard,它与任何源地址匹配。
d)destination/destination。destination/destination指示一个目的网络地址,数据报的目的地址若被该网络地址覆盖,即下面的等式成立:目的地址&(!destination-wildcard)==destination,则视为数据报与该目的网络地址匹配。可使用any来代表值为0.0.0.0255.255.255.255的destination destination-wildcard,它与任何目的地址匹配。
3.2 使用扩展访问控制列表来保护Web服务器的安全
Web服务是校园网上应用最为广泛的网络服务之一,如果Web服务器的所有端口都对外界开放,很容易招来黑客和病毒的攻击,所以如何有效地保护Web服务器的安全成为网络管理人员的重要任务。思科IOS提供的扩展ACL可以将除了服务端口以外的其他端口都封锁掉,降低服务器被攻击的机率。以下就是以Web服务器地址为172.19.1.10例就是仅仅将80端口对外界开放。
路由器配置命令:
Cisco(config)#access-list 101 permit tcp any 172.19.1.10 0.0.0.0 eq www
(设置ACL101,容许源地址为任意IP,目的地址为172.19.1.10主机的80端口即WWW服务。由于思科IOS默认在访问控制列表的最后添加deny any的命令,所以此ACL只写一句即可就可以完成上述功能。)
Cisco(config)#interface e0
(进入端口配置模式,其中e0端口就是连接Web服务器的路由器端口)
Cisco(config-if)#ip access group 101 out
(将ACL101宣告出去)
设置完成后校园网所有主机就无法访问172.19.1.10的服务器的其他服务了,就算是服务器172.19.1.10开启了FTP服务也无法访问,惟独可以访问的就是172.19.1.10的WWW服务。
扩展访问控制列表功能很强大,能实现精细的控制,扩展访问控制列表不仅读取IP数据包的包头的源地址/目的地址,还要读取第四层包头中的源端口和目的端口的端口号。所以在没有硬件ACL加速的情况下,路由器的CPU资源会被扩展访问控制列表大量的消耗。所以应尽量减少扩展ACL的条目数,将其简化为标准ACL或将多条扩展访问控制列表合一是最有效的方法。
4 反向访问控制列表
访问控制列表除了可以过滤数据包,合理管理网络访问以外,病毒防范也是一个更重要的功能,网络管理员可以将平时常见的病毒传播使用的端口进行过滤,将使用这些端口的数据包丢弃。这样就可以有效的防范病毒的攻击。
计算机病毒是千变万化的,它所使用的传播端口是我们无法预知的,所以这给我们防范病毒的过程无形之中增加了难度,而且随着防范病毒数量的增多会造成访问控制列表规则的条目过多,在一定程度上影响了网络访问的速度。这时我们可以使用反向访问控制列表来解决以上的问题[3]。
1)反向访问控制列表的格式
反向访问控制列表的格式非常简单,只要在配置好的扩展访问列表最后加上established即可。
2)使用反向访问控制列表应用实例
网络环境介绍:校园网采用B类私有地址段172.19.0.0/16来划分各个网段,其中172.19.1.0/24网段是Web服务器所在的网段。
为了保护这些服务器免受来自内网的病毒攻击,我们在路由器上作如下配置:
access-list 102 permit tcp 172.19.0.0 0.0.255.255 172.19.1.0 0.0.0.255 eq www
permit tcp 172.19.0.0 0.0.255.255 172.19.1.0 0.0.0.255 established
把ACL102应用到连接Web服务器网络所在路由器接口e0,配置如下:
Cisco(config)#interface e0
Cisco(config-if)#ip access-group 102 out
配置完毕后病毒就不会轻易的从学校内网传播到Web服务器所在网段了,而校园网内的主机可以访问172.19.1.0/24网段内的WWW服务。因为病毒要想传播都是主动进行TCP连接的,由于路由器上采用反向ACL禁止了内网的TCP主动连接,因此病毒就无法顺利传播。
5 基于时间的访问控制列表
5.1 基于时间的访问控制列表用途
学校的各个系里都有机房,每个机房拥有50台左右的计算机,这些计算机都通过机房里的二层接入交换机连接到学校的核心路由器的某个接口上。根据学校的相关规定,机房在平时上课的时间是不能访问外网的,只有周末是对外开放提供上网服务。这样可以限制学生在机房上课的时候上网玩游戏或看视频等。
5.2 基于时间的访问控制列表的格式
基于时间的访问控制列表分成两部分来定义,第一部分是定义时间段,第二部分是定义扩展ACL的规则。具体格式如下:
time-range时间段名称
absolute start[小时:分钟][日月年][end][小时:分钟][日月年]
时间段名称通常设置成一个有意义的英文单词或汉语拼音,并按Cisco IOS要求输入访问列表起作用的起始时间和失交时间。
5.3 基于时间的ACL配置举例
a)配置名字为jifang的访问控制列表:
ip access-list extended jifang
permit ip 172.19.100.0 0.0.0.255 any time-range jifangtime
b)配置时间段名字为jifangtime,时间为周六、周日00:00到23:59的时间段:
time-range jifangtime
periodic weekend 00:00 to 23:59
c)把名字为jifang的访问控制列表应用到连接机房的路由器接口e1,配置如下:
Cisco(config)#interface e1
Cisco(config-if)#ip access-group jifang in
通过上面的配置,学校机房所在网段内的主机就只能在周末访问服务器网络资源了。
摘要:介绍了基于思科IOS的访问控制列表的作用及应用规则,结合校园网的实际,给出了标准访问控制列表、扩展访问控制列表、反向访问控制列表和基于时间的访问控制列表在校园网中的应用实例。
关键词:思科IOS,访问控制列表,校园网
参考文献
[1]冯昊,黄治虎.交换机/路由器的配置与管理[M].北京:清华大学出版社.2009.
[2]刘晓辉,李利军.交换机.路由器.防火墙[M].北京:电子工业出版社,2007.
iOS安全研究 第4篇
i OS作为优秀的移动智能操作系统, 在提供了丰富的功能、友好的交互、出色的稳定性的同时, 打造了硬件、软件、服务一体化的安全体系, 具有极高的安全性。本文对i OS安全体系进行研究, 包括i OS系统安全、数据安全、应用安全、网络安全和互联网服务安全等。
2 系统安全
i OS操作系统和支撑i OS运行的底层芯片等硬件组成了承载i Phone、i Pad等设备运行的i OS平台。i OS系统安全是指i OS平台的安全。i OS通过硬件软件一体化设计, 充分考虑安全性和易用性, 实现了在不影响用户体验前提下的高系统安全性, 可有效保障各类应用和服务在i OS平台上的可靠运行。系统安全主要环节包括系统安全启动、系统升级、安全协处理器等。
2.1 系统安全启动
i OS平台采用基于数字签名技术的信任链机制保证各启动环节未经篡改, 从而保证i OS系统启动后运行在既定软硬件状态下。信任链起点为芯片, 经引导程序Bootloader, 到i OS内核, 至i OS系统, 信任链的任一环节只有通过前一环节的签名校验后方可运行。芯片为信任链可信的源点, 芯片的高安全性通过设计、物理实现等手段保证, 芯片默认为可信。
i OS设备安全启动流程如下:i OS设备被触发启动后, 其主芯片执行芯片制造时固化在芯片内的Boot ROM代码, 该代码含有苹果公司根公钥, Boot ROM代码使用该公钥验证苹果公司签名的Low-Level Bootloader (LLB) , 校验通过后主芯片装载执行LLB。之后, 类似的过程, LLB校验执行第二阶段引导程序i Boot, i Boot校验执行i OS内核和i OS系统。如果任一环节校验失败, 则启动终止, i OS设备进入恢复出厂设置模式。该过程保证LLB、i Boot、i OS内核等软件未经篡改, 保证i OS系统仅运行在通过验证的环境中。
对于具备通信功能的i OS设备, 通信基带芯片会发起执行类似的安全启动过程, 保证i OS通信子系统的启动安全。对于采用A7、A8 主芯片的i OS设备, 主芯片带有安全协处理器Secure Enclave。安全协处理器采用类似的安全启动过程, 保证其独立软件被苹果公司签名并未经篡改。
2.2 系统升级
i OS通过系统升级修复安全漏洞和增加新的功能。升级包经过苹果公司数字签名, 系统安全启动保证了只有苹果公司签名的升级包才可正确安装在i OS平台上。为避免利用已知漏洞对系统进行攻击, i OS不允许系统降级, 即不允许系统从高版本回退到低版本, 为此, i OS系统升级引入了系统软件授权过程。
系统软件授权过程如下:在系统升级过程中, i OS设备连接苹果安装授权服务器, 并向服务器发送设备状态信息, 包括待升级软件 (如LLB、i Boot、i OS内核、i OS系统等) 的密码学测量值、一个随机数和设备唯一标识ECID。授权服务器根据收到的测量值检查可用于该设备升级的软件版本, 如果发现升级版本, 升级服务器将ECID加入到升级包并对其整体签名后发送给待升级设备。ECID保证升级授权是针对特定设备。系统软件授权过程避免了一个设备的低版本软件拷贝到另一设备上。随机数可差异化服务器响应, 防止服务器响应被存储下来用于系统攻击。
i OS支持增量升级。安全协处理器同样采用系统软件授权过程保证其独立软件不会降级安装。
2.3 安全协处理器
苹果A7、A8 主芯片带有安全协处理器Secure Enclave。 苹果主芯片基于ARM架构, 其安全协处理器方案是在ARM Turst Zone方案基础上的修改。安全协处理器提供加解密、密钥管理等数据保护相关操作, 以及在iOS内核被侵入情况下保护数据安全。芯片制造时, 安全协处理器唯一标识UID会烧写在芯片中, UID只能被安全协处理器读取使用。UID参与加密密钥的生成, 包括加密内存用密钥和加密数据用密钥。安全协处理器负责处理Touch ID传感器采集的指纹数据, 决策是否有匹配的指纹以及是否解锁设备等。安全协处理器与Touch ID之间加密传输数据。
3 数据安全
i OS设备正从消费市场进入企业市场, 用户数据安全和企业数据安全至关重要。i OS具备完善的数据安全防护机制, 可在系统软件被侵入情况下依旧保护数据安全, 并提供远程数据删除功能, 防止i OS设备丢失造成数据泄露。
3.1 硬件支撑
数据加解密是高运算量计算任务, 为降低其对i OS设备运行速度和电量消耗的影响, i OS设备在内存和闪存之间的DMA (Direct memory access) 通路上设置了专用AES 256加解密引擎, 从而大大提高数据加解密运算的执行效率。
i OS设备的主芯片和安全协处理器在制造时都烧写了唯一标识UID和组标识GID。UID和GID都是256 比特AES密钥, 参与专用AES引擎的加解密运算, 安全协处理器的UID和GID只能用于专属于安全协处理器的AES加解密引擎。UID每芯片唯一, 即使苹果公司也不知晓UID。GID在同型号芯片中相同, 用于系统软件安装等安全级别稍低的任务。i OS设备的软件和固件不能直接读取UID和GID, 即使设备处于调试接口JTAG打开的调试状态下。将UID和GID固化在芯片中可保证其极高的安全性。
每芯片唯一的UID参与数据加密, 保证了将存有加密数据的闪存安装到另一台i OS设备上是无法解密数据的。安全协处理器内置硬件真随机数生成器, 用于生成UID和GID之外的加密密钥。i OS采用Effaceable Storage技术安全删除存储在闪存中的密钥。
3.2 数据保护机制
i OS数据保护通过对数据文件加密来实现, 数据文件加密借助加密引擎等硬件完成, 加密密钥采用层级密钥链机制。i OS层级密钥链机制如图1所示。
i OS系统每生成一个数据文件, 都会相应生成一个新的256 比特文件密钥 (File Key) , 硬件AES加密引擎用该密钥对文件进行加密。文件密钥被一个类别密钥 (Class Key) 加密封装后存储在文件元数据中。文件密钥的加密封装采用AES密钥, 遵循RFC 3394标准。i OS有4个类别密钥, 分别对应4种数据文件保护策略 (见3.3节) , 有的类别密钥被芯片密钥UID加密保护, 有的类别密钥被用户解锁设备密码保护。所有文件的元数据被一个文件系统密钥 (File System Key) 加密, 文件系统密钥在i OS初次安装或用户整体删除i OS设备数据时随机生成。文件系统密钥存储在闪存中。
当读取打开一个数据文件时, 文件元数据首先被文件系统密钥解密, 从解密的文件元数据中可以获得加密的文件密钥并知道文件密钥被哪一个类别密钥加密。之后, 文件密钥被类别密钥解密, 解密的文件密钥送给硬件AES引擎, AES引擎完成数据文件解密。
文件系统密钥不用于保护数据安全, 而是用于快速删除数据, 删除文件系统密钥则导致所有数据文件无法解密, 等同于数据文件被删除。图1所示的层级密钥链机制为数据文件保护带来了充分的灵活性。例如, 更改一个数据文件的保护类别只需对文件密钥重新加密封装即可, 用户更换设备密码只需对类别密钥重新加密封装即可。
用户设置设备密码即启动了i OS数据保护。设备密码除用于解锁设备, 还参与类别密钥等数据保护密钥的加密。因此, 即使i OS设备丢失, 只要设备密码不泄露, i OS设备上的数据也是安全的。
3.3 数据保护类别
i OS具有4 种数据文件保护类别, 每种保护类别有不同的文件读取打开策略。应用App生成一个文件时, 应用会同时为文件设定一种数据保护类别。
(1) 完全保护
该保护类别的文件只有在用户输入设备密码解锁设备后才可被读取打开。该文件保护类别的类别密钥被用户设备密码和设备UID加密保护。用户锁定设备后, 解密的类别密钥随后从内存中删除, 使得所有该类别数据文件无法打开。
(2) 保护直到文件打开
该保护类别的文件在设备锁定状态下可被获取。例如, 邮件应用在设备锁定状态下后台下载邮件附件并将其写入设备闪存。该类别的类别密钥采用NIST SP 800-56A协议生成。该类别数据文件一旦关闭, 其解密的文件密钥则从内存中删除。打开该类别文件, 需用NIST SP 800-56A协议重新生成类别密钥, 并用其解密文件密钥, 进而解密打开文件。
(3) 保护直到用户第一次认证
该类别与完全保护类别相似, 区别在于, 只要用户解锁了设备, 设备再锁定后, 解密的类别密钥不从内存中删除。该类别与桌面操作系统的全盘加密类似。该类别是默认的第三方应用数据文件保护类别。
(4) 无保护
该类别的类别密钥只由设备UID加密保护。由于解密数据文件所需的所有相关密钥都在设备中, 因此该类别仅用于快速文件删除。
3.4 密码等短数据的保护
许多应用APP都需要处理密码等敏感短数据, 例如邮件账号密码、Wi-Fi接入密码、VPN密码等。i OS设计了Keychain, 用于安全存储短数据。Keychain是一个存储于i OS文件系统的SQLite数据库, i OS的securityd守护进程决策每个Keychain短数据可以被哪个应用或进程访问。Keychain短数据采用与数据文件类似的保护策略, 包括相同的层级密钥链机制等, 但Keychain短数据保护采用其独立的密钥。
4 应用安全
i OS采用数字签名、“沙箱”、权限管理等一系列技术和手段保证应用来源可靠和应用运行时安全可控。
4.1 应用签名
i OS要求所有可执行代码都需要由苹果公司发放的证书签名, 从而保证应用来源可知以及应用未被篡改。i OS内核启动后, 内核会控制用户进程和应用的执行。强制代码签名可以将信任链从i OS系统扩展到应用, 防止第三方应用加载未经签名的代码或加载修改的代码。邮件、Safari等系统自带应用由苹果公司签名, 第三方应用由应用开发者使用苹果公司发放的证书签名。
i OS应用开发者必须在苹果公司注册并参加i OS开发者计划。应用开发者不管是个人还是公司, 其身份都要被苹果公司认证, 认证通过后应用开发者会获得苹果公司发放的证书, 该证书用于应用签名。因此, i OS应用商店上的所有应用都可通过签名确认其来源, 从而一旦出现问题可追溯。所有应用在上线前都要经过苹果公司的审查, 确认应用按照设计的行为运行及不含有明显的缺陷。
4 .2 运行时进程安全
i OS采用“沙箱”、权限管理等技术防止应用对系统产生不良影响。第三方应用都被i OS“沙箱”技术限定在有限的系统资源空间内运行, 防止应用不受控地获取其他应用的数据和更改系统。第三方应用想要获取其他应用的数据需通过i OS提供的特定服务。应用在安装时被授予相应的权限, 从而控制应用可获取到的用户信息和系统功能。权限信息经数字签名, 从而保证应用权限不会被篡改。系统自带应用、系统可执行库等采用运行时内存地址随机化技术 (Address space layout randomization, ASLR) , 防止通过利用内存越界等错误对系统进行侵入破坏。第三方应用可通过i OS开发环境Xcode对应用进行支持ASLR功能的编译。
5 网络安全
i OS采用业界标准的网络协议实现基于蜂窝网络、Wi-Fi、蓝牙等通信网络的安全通信。i OS通过减少网络监听端口和关闭Telnet、Shell、Web服务器等不需要的网络服务降低了被网络攻击的可能性, 因此i OS不需要额外的防火墙软件。
i OS支持SSL、TLSv、DTLS协议, 日历、邮件、Safari等系统自带网络应用自动使用以上协议实现加密通信。i OS提供了以上协议的API接口以支持第三方应用调用安全通信功能。i OS支持Juniper、Cisco、Aruba、Sonic WALL等一系列VPN协议, VPN On Demand、Per App VPN和Always-on VPN功能。
i OS支持企业级Wi-Fi协议, 如WPA2, 实现企业网络的认证接入。i OS8 还采用随机MAC地址进行PNO和e PNO Wi-Fi扫描, 以进一步提高安全性。在蓝牙连接方面, i OS支持加密模式3、安全模式4 等安全连接。
6 互联网服务安全
苹果公司在i OS设备上提供了功能丰富的互联网服务, 包括i Cloud、i Message、Face Time、Siri、Spotlight推荐等。对于这些互联网服务, 苹果公司采用了严谨的安全策略和技术手段, 保障用户信息安全。
Apple ID是用户登录i Cloud、i Message、i Tunes商店等苹果服务的用户账号和登录密码。登录密码设置需满足一定要求, 从而保证密码强度。同时, 在账号相关信息变更时, 如密码变更、账单信息变更、账号在新设备上登录等, 苹果公司会发送邮件和推送通知提醒用户, 如有异常发生, 用户可立即更改登录密码。
7 其他
7 .1 设备控制
i OS设备正进入企业级应用领域。为此, i OS提供了灵活易用的安全策略配置和管理功能, 使得企业可以便利地完成企业信息保护, 并确保员工i OS设备符合企业安全管理要求。
安全配置文件是含有i OS设备安全策略配置信息的XML文件, 用户可以通过Safari、邮件、MDM (Mobile Device Management) 等方式下载安装该文件, 完成i OS设备安全配置。安全配置文件可以被加密签名, 从而确保其来源可靠、未经篡改并保护其内容。安全配置可以锁定在i OS设备上, 保证安全策略不被删除。安全配置文件可以对密码策略、设备功能设置、Wi-Fi设置、VPN设置、邮件服务器设置等进行配置。企业可以通过MDM配置、更新、管理大规模i OS设备, 包括远程擦除设备上的企业数据。
7.2 隐私控制
i OS除了对用户数据进行高强度的加密保护外, 还可精细控制应用App访问用户信息的方式。用户在i OS设置中可以看到每个应用可访问的用户信息以及管理应用访问用户信息, 包括授权访问和撤销访问, 可管理的用户信息包括通讯录、日历、提醒、照片等。
i OS通过GPS、Wi-Fi热点、蜂窝网络等可大致定位用户位置。i OS提供了精细的用户位置信息管理功能, 包括是否开启位置服务、哪个应用可获取位置信息、应用在何种状态下可获取位置信息等。
8 小结
IO板及其软件控制实现 第5篇
轨道交通整个机电系统中, 自动售检票系统 (Automatic Fare Collection简称AFC系统) 作为机械智能化设计的典型代表, 不仅取代了售票员、检票员、会计、统计、审计等人工操作员, 而且通过准确的数据收集整理实现了票务和现金管理的高度自动化[1]。随着城市轨道交通的日新月异的发展, 地铁AFC系统的要求和需求也不断的改变, AFC系统终端设备对于各个模块工作时各种输入与输出信号处理的速度和准确性要求也越来越高。因此, 对于专门进行批量高效信号处理的专用电路板———信号输入输出控制板 (简称IO板) 的性能要求也越来越高。
为解决IO信号处理的高效性和准确性的问题, 本文将基于AVR的8系列单片机芯片为主控单元的硬件平台, 提出一种新型的IO板设计方案, 并采用多线程的嵌入式软件技术和准确的信号处理逻辑算法来加以实现。
1 IO输入/输出控制
对于IO板的AVR芯片进行编程后, 程序通过片选信号选通IO板电路某片区域, 这个时候, IO板的芯片可以对这一路的信号进行采集或者输出控制操作。
IO板输入端、输出端均具有多路信号, 操作时需要多次片选, 程序要获得实时的输入信号, 需要利用AVR芯片的定时器设置时间片, 使IO板每隔一个时间片就获取一次实时的IO输入信号, 这些IO输入信息会存入相应的地址以便上位机调用。
IO输出由串口控制, 串口接收到上位机相应的IO输出命令后, IO板会根据命令进行片选让目标管脚进行输出操作[2]。
2 PWM调制
AFC系统的终端设备中, 涉及到许多需要通过IO板来进行控制的电磁铁, 如自动售票机的硬币投币口、自动检票机的回收口等等, 由于电磁铁的自身特性, 无法长期持续地接收高电平信号, 否则将因为温度过高、负荷过大而损坏, 因此, 本文设计的IO板采用PWM调制的技术手段来解决向电磁铁输出IO信号的问题。当使用PWM脉冲宽度调制时, IO板对电磁铁输出一个占空比可控的PWM方波, 电磁铁工作时则不必持续地接收高电平信号, 这样电磁铁的负担大大降低, 电磁铁的温度也能够控制在一个相对较低的范围, 寿命也因此加长[3]。
IO板利用AVR8系列单片机芯片的8位定时器/计数器T/C0输出PWM波。T/C0是一个通用的、单通道8位定时器/计数器模块。
相位修正PWM模式:
相位修正PWM模式 (WGM01:0=1) 基于双斜波操作, 为用户提供一个获得高精度相位修正PWM波形的方法。计数器重复地从BOTTOM计数到MAX计数器时若发生TCNT0与OCR0的匹配, OC0将清零为低电平;而在计数器往BOTTOM计数时若发生了TCNT0与OCR0的匹配, OC0将置位为高电平。工作于反向输出比较时, 则正好相反。与单斜波操作相比, 双斜波操作可获得的最大频率要小。但由于其对称的特性, 十分适合于电机控制。
相位PWM模式的PWM精度固定为8比特。计数器不断地累加到MAX, 然后开始减计数。在一个定时器时钟周期里TC-NT0的值等于MAX。时序如图1所示。图1中TCNTn的数值用斜线图表示, 以说明双斜线操作。本图同时说明了普通PWM的输出和反向PWM输出。TCNTn斜线上的小横条表示OCR0和TCNT0的匹配。
当计数器达到BOTTOM时, T/C溢出标志位TOV0置位。此标志位可用来产生中断。工作于相位修正PWM模式时, 比较单元可以在OC0引脚产生PWM波形;将COM01:0设置为2, 产生普通相位的PWM;设置COM01:0为3, 产生反向PWM信号。实际的OC0数值只有在端口设置为输出时才可以在引脚上出现。OCR0和TCNT0比较匹配发生时, OC0寄存器将产生相应的清零或置位得:
式中变量N标识预分频因子 (1、8、32、64、128、256或1 024) 。
这样通过计算给OCR0赋值就可以在IO板输出相应频率PWM波, 从而实现对电磁铁的控制。
3 通行逻辑控制
闸机是地铁AFC系统中直接面对乘客的十分重要的前端收费设备, 乘客通过闸机进出地铁付费区和非付费区。闸机运行是否正常, 不仅影响到地铁在广大乘客中的形象, 而且也更直接影响到地铁的票务收益。如何让持有效车票的乘客快速、安全的通过闸机, 并合理地阻挡持无效车票的乘客和试图作弊的乘客, 是闸机通行逻辑设计的目标。因此, 闸机通行逻辑技术是闸机设计的关键[4]。下面介绍一种以IO板进行对通行逻辑模块的控制方案。
IO板控制闸机扇门时, 需通过扇门的通行逻辑模块来进行信号处理。IO板通过对通行逻辑板的输入/输出, 可实现对扇门进行相应的操作。
IO输入控制:
当扇门处于打开状态时, 通行逻辑板能通过光电传感器进行检测, 判断是否有人通过, 若判断有1人通过则通行逻辑板会对IO板的Pack_B端输入一个100 ms的低电平信号, 若有N人通过则通行逻辑板会发出N个100 ms的低电平信号。电路原理如图2所示, Pack_B端无操作时默认输入24 V, 此时光电二极管TLP181处于导通状态, 所以此时IO输入端IN18为低电平;而当通行逻辑板对Pack_B输出低电平信号时, 光电二极管TCP181闭合, 电容C49放电, IO输入端IN18为高电平。
若要实现放行多个人通过时, 则需要对Pack_B低电平进行计数, 这就需要通过底层程序去完成。具体操作方式是捕获IO输入端IN18的实时状态后存入AVR单片机的寄存器, 然后将前后状态进行比较, 若出现了上升沿则, Pack_B计数加1, 否则计数不变。代码实现:
IO输出控制:
IO板对通行逻辑板Paut_B端输出一个100 ms低电平信号时, 可以控制扇门, 使扇门从闭合状态打开。电路原理如图3所示, IO端Out14常态输出高电平, 此时光电二极管不导通, MOS管也不导通, Paut_B被拉高;而当IO端Out14输出低电平时, 光电二极管导通, MOS管导通, 此时Paut_B变为低电平[5]。
4 多线程处理的实现
Atmega128单片机内部提供两个10位的预定比例分频器, 一个给T/C0独自用, 另一个给其他3个T/C共用。
软件设计时, 程序给每个任务都设置了时间片, 通过使用AVR单片机的定时器1, 定时器1每1 ms中断溢出时对任务时间片函数作处理, 判断即将运行的任务, 如此反复, 则可以通过程序任务的时间片处理来实现多线程处理。定时器1的处理函数如下:
其中Task Comps[i]的内容为各个任务子函数, Itv Timer为任务运行的时间间隔, Task Comps[i].Run为任务可执行标志, 当任务子函数Run为“1”时, 任务为可执行状态[6]。
5 结束语
IO板逻辑处理和多线程任务处理的实现, 能够增加AFC各终端设备的工作协调性以及工作效率, 同时减少各模块处理IO的压力, 减少错误, 降低资源消耗, 使得AFC设备的运行更稳定可靠。
参考文献
[1]邓先平, 陈凤敏.我国城市轨道交通AFC系统的现状及发展[J].都市快轨交通.2005, 18 (3) :18-21.
[2]于正林, 苏成志, 曹国华.AVR单片机原理及应用[M].北京:国防工业出版社, 2009.
[3]孙孝峰, 王立乔.三相变流器调制与控制技术[M].北京:国防工业出版社, 2010.
[4]罗煌, 洪澜.SSH框架的AFC测试管理系统的设计与实现[J].轨道交通纵横, 2011, 24 (4) .32-34.
[5]沈建良, 赵文宏, 贾玉坤.ATmega128单片机入门与提高[M].北京:北京航空航天大学出版社, 2009.
基于IOS平台的拼图游戏开发 第6篇
随着智能操作系统的日趋成熟和人们精神生活的不断丰富,移动设备游戏日益受到欢迎。由于IOS系统的优越性及操作的人性化,基于此平台的游戏软件更是受到追捧。拼图游戏即是其中一款经典的游戏,有着很大的用户群[1,2,3]。在i OS平台下,用户可以从App Store下载游戏并安装后可直接使用,方便快捷。不仅可以用来消磨时间,更可以起到益智、锻炼思维的作用。因此,基于i OS平台的拼图游戏有着巨大的市场潜力。
优秀的游戏软件设计,要求能做到一次代码编写,能在多系统运行。本文参考了一些基于i OS平台的软件开发[4,5,6],最终确定采用跨平台引擎-cocos2d-x,开发了一款基于IOS平台的手机游戏软件—益智拼图。
1 IOS系统和cocos2d-x引擎简介
1.1 IOS系统简介
i OS是由苹果公司开发的手持设备操作系统。最初是为i Phone设计,后来陆续用到i Pod touch、i Pad以及Apple TV等苹果产品上。i OS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。
i OS的系统结构分为以下四个层次[6]:核心操作系统(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),Cocoa触摸框架层(the Cocoa Touch layer)。
1.2 cocos2d-x游戏引擎简介
Cocos2d-x是一个开源的移动2D游戏框架,MIT许可证下发布的。它使用C++开发,同时支持多平台的2D手机游戏引擎,是cocos2d-i Phone项目的版本。cocos2d-x发展的重点是围绕cocos2d跨平台。cocos2d-x项目可以很容易地建立和运行在i OS,Android,三星Bada,黑莓操作系统平台上。cocos2d-x还支持Windows和Linux系统,因此,我们可以调试的源代码很容易写在桌面操作系统上进行编辑。
2 游戏策划
在开发游戏前,必须有一个完整的游戏策划,即对开发的游戏做一个简单的描述。它包含游戏的开发背景,游戏的功能,游戏的风格,以及对游戏市场的调查。
2.1 游戏策划
通过对市场上一些拼图游戏的试玩后,对拼图游戏的功能有一定的了解。拼图游戏的主要表现形式是将一张完整的图片,切割成若干的小图片,然后将小图片的顺序打乱。玩家可以拖动小图片,若寻找的位置正确,小图片的位置就会固定不能再拖动,否则小图片就会自动掉落到界面底部。用户在游戏的过程中可以自己选择游戏的图片。在游戏开始界面上设置开始游戏的按钮,游戏的主场景固定,但游戏的图片可以切换。
2.2 游戏功能策划
(1)无限关卡:游戏中每完成一张拼图就会进入到一下关卡,难度渐渐增加。本游戏设置的关卡的公式(1):
其中n为整数。如第一关切割成9张小图片,第二关切割成16张小图片,第三关切割成25张小图片,使得游戏设置的关卡难度依次加大。
(2)切割、随机掉落图片:用户在进入主游戏后,先通过将图片切割成多张小图片;然后这些小图片根据物理效果会随机掉落到原图的下方,用户可以滑动图片和选择图片进行拼图操作。当用户拖动下方小图片到游戏区域,若此图片位置正确,小图片固定不能移动,否则,小图片就会自动掉落到底部。
(3)更换图片:本游戏支持摄像头或图片库更换图片,用户可以通过打开手机的摄像头或者图片库来获取图片进行切割成小图片进行游戏。且用户还可以摇一摇手机更换图片,是本设计游戏的特色之一。
另外,游戏带音效功能,游戏中有背景音乐、摇一摇和过关时的音效,且游戏中设计有计时功能。
3 游戏详细设计与实现
3.1 切割图片的设计与实现
该功能通过使用cocos2d-x中CCSprite类库中create(const char*psz File Name,const CCRect&rect)函数,它的功能是在一张图片中从某一坐标点(x,y)取一张图片,(height,width)表示被取图片的高度和宽度,此图片的高度和宽度是原大图的高度和宽度整除切割图片数的平方根得到,这样就实现了把图片切割成16张、25张、36张等。切割效果如图1所示:(因文章篇幅受限,具体代码实现不再给出)
3.2 滑动效果的设计与实现
在处理滑动事件时,分三个函数实现[6]:(1)cc Touches Began()函数功能表示滑动开始。(2)cc Touches Moved()函数功能是开始拖动图片,函数中需设定哪些图片可以滑动以及设定图片滑动的范围。(3)cc Touches Ended()函数表示滑动结束,此函数实现在滑动结束之后将执行哪些操作,如在拼图游戏中,切割后图片的滑动及将目标图片移动到指定的位置。滑动效果如图2所示。
3.3 游戏逻辑的设计与实现
游戏原图被分割后,用一个sprite Array放切割后的图片信息,并对图片设置Tag,通过移动小图片与其原来的位置对比,如果位置差值在一定范围内并且Tag相等,图片就会吸附固定。实现效果如图3所示:
3.4 物理效果的设计与实现
切割后的图片从屏幕中间模拟物理效果掉落,当滑动的图片掉落时也会有物理碰撞重力等效果,使用物理引擎Box2d,模拟一个重力的世界,重力向下,把屏幕的四面设置成墙壁;定义出刚体后,生成刚体,把小图片作为皮肤依附在刚体上,而刚体因为受到重力的作用会自然掉落,皮肤会跟随着其依附的刚体而移动。实现效果如图4所示。
另外,本游戏中还实现了摇一摇设备更换游戏图片,打开手机摄像头或者图片库获取图片作为游戏图片,设置无限关卡,游戏计时和音效等一些功能。
4 游戏部署与测试
4.1 游戏部署
本游戏开发为一个IOS项目,打开项目的文件夹,双击“拼图游戏.xcodeproj”文件就能在xcode里打开项目,再点击运行即可。
4.2 游戏测试
游戏测试是游戏开发中很重要的一部分[7,8,9,10,11,12,13,14]。本文主要依据软件工程中的软件测试方法,并结合一般游戏测试的方法进行测试。本文制定了一个完整的游戏测试方案,并建立相应的测试文档,其文档有利于修正游戏的bug,同时有利于改进游戏。
4.3 Bug List文档
在游戏测试时,对于找到的bug需要记录,并建立一个buglist的文档保存,这样可以避免漏掉游戏bug,以及防止重复测试相同的bug。bug List文档如表1所示:
最后,经过测试,没有bug后,本拼图游戏成功发布到App Store[15]。
5 结束语
本文设计的拼图游戏有分割图片,滑动图片,物理效果和摇一摇更换图片等一些功能。通过游戏策划与开发方案的编写,对游戏开发的具体流程有了更深的了解;对于开发的每个部分都使用文档记录,这样既规范了整个开发过程,也使游戏的开发有据可查,并且还可以提高游戏开发的效率,缩短开发周期。另外,游戏中的画面美感不足,并没有经过专业的处理,是下一步游戏改进的地方。
摘要:基于i OS平台的游戏日益受到青睐,本文开发了一款i OS平台下的手机游戏软件——益智拼图。该游戏采用跨平台引擎-cocos2d-x以及C++语言进行开发的,主要实现了拼图游戏的切割图片、滑动效果、游戏逻辑、物理效果等基本功能,且支持从手机照相或图片库获取图片进行切割,摇一摇更换图片以及音效设置等特色功能。最后,通过对游戏进行安装、调试,通过了性能测试,成功发布了游戏。
iOS上最流行电台应用版本升级 第7篇
作为TechCrunch评出的2010年40大i Phone应用之一, TuneIn Radio Pro的亮点主要体现为两点:一是电台资源丰富, 二是支持录音。
TuneIn Radio Pro收集了全球范围内主要的电台节目表, 提供包括上千个本地AM/FM调频在内的5万多个电台节目。在选择电台和节目时, 用户可以用浏览或关键字搜索的方式, 也可以利用GPS定位功能或Wi-Fi收听本地电台。收听过程中, 可暂停正在直播的电台节目, 但是不能超过30分钟, 而在最近30分钟的广播中, 可以实现快进和后退。此外, 用户还可以将喜欢的电台和节目添加到“我的预置”, 方便下次收听。
支持录音是这款应用的又一大特色。一般的电台应用只提供实时在线收音服务, 错过了某档节目就很难再听到, 而TuneIn Radio Pro带有的录音功能则完美解决了这个问题。用户可以选择即时录音, 录下当前正在收听的节目, 也可以通过内置的定时器, 录制指定时刻的节目, 这样就再也不怕错过收听自己喜欢的电台节目了。