iOS苹果官方Demo合集

ABUIGroups      数据管理  联系数据) 地址簿  

ABUIGroups显示如何检查并请求访问用户的地址簿数据库。它还演示了如何使用AddressBook API检索,添加和删除组记录。它在地址簿中显示按其来源组织的组。

AccelerometerGraph  数据管理(设备信息)UIKit的

AccelerometerGraph示例应用程序绘制设备的运动。它演示了如何使用UIAccelerometer类以及如何使用Quartz2D和Core Animation来提供高性能图形视图。它还演示了一个可用于隔离重力影响的低通滤波器,以及一个可用于消除重力影响的高通滤波器。

AdaptivePhotos:一种自适应应用程序  用户体验UIKit的

本示例演示如何使用iOS 8中引入的新API来使您的应用程序在所有设备和方向上都能很好地工作。它使用大小类,特性和附加功能来查看控制器,以制作适用于任何大小和配置的应用程序。

AddMusic  音频和视频(音频)媒体播放器

AddMusic演示了iPod库访问的基本用法,它是Media Player框架的一部分。您可以使用iPod库访问来播放用户桌面iTunes资料库中同步的歌曲,音频书籍和音频Podcast。本示例使用Media Player框架的内置用户界面来选择音乐。AddMusic还演示了如何将应用程序音频与iPod库音频混合。该示例包括使用AVAudioSession类和音频会话服务配置应用程序音频行为的代码。

AdvancedURLConnections  网络和互联网(协议流)基础

本示例演示了NSURLConnection的各种高级网络技术。具体而言,它演示了如何响应身份验证挑战,如何修改默认服务器信任评估(例如,支持具有自签名证书的服务器)以及如何提供客户端身份。

冒险:使用Swift构建SpriteKit游戏  语言和工具(Swift)SpriteKit 

本示例演示如何使用SpriteKit和Swift为iOS和OS X构建简单的2D游戏。

AirDrop示例  网络和互联网

“AirDropSample”演示了将AirDrop整合到应用程序中的三种用例。

AirLocate:使用CoreLocation监视,排列并将您的设备配置为iBeacon  CoreLocation 

“AirLocate”演示了CoreLocation的围墙和一系列iBeacons,BTLE设备可以帮助iOS设备确定用户靠近位置而不是位置。获取用户与iBeacons的距离是理想的,比如室内其他定位方法无法工作,或者不能达到iBeacon可以提供的所需准确级别。除了演示如何使用CoreLocation的CLLocationManager API监控和定位这些CLBeaconRegions外,AirLocate还提供了一个示例,说明如何校准和配置iOS设备作为信标。

备用视图  用户体验(Windows和视图)UIKit的

本示例演示如何为特定的设备方向实施替代视图或区分视图。如果您的应用程序在方向之间显示不同的内容,或者您​​的应用程序在方向之间使用了大量不同的布局,而这些方向无法通过自动布局或单独的程序布局进行协调,则这样做可能会非常有用。

适用于iOS的应用程序图标和启动图像  一般UIKit的

每个应用都需要包含应用图标。建议应用程序还提供以下图标:Spotlight,Settings应用程序,以及创建Ad Hoc构建并将其添加到iTunes时。请参阅QA1686:iPad和iPhone上的应用程序图标,了解iPhone,iPad和Universal应用程序所需的完整图标列表https://developer.apple.com/library/ios/qa/qa1686/_index.html

AppPrefs:存储和检索用户首选项  数据管理(首选设置)UIKit的

演示如何在“设置”系统应用程序中显示应用程序的用户可配置选项(首选项)。包含在应用程序捆绑目录中的设置包包含Settings应用程序显示您的首选项所需的信息,并使用户可以修改它们。Settings应用程序将所有配置值保存在默认数据库中,以便应用程序可以在运行时检索它们。此示例还展示了如何从应用程序启动Settings应用程序,以及如何在应用程序位于后台时更改应用程序的UI,当其设置发生更改时。

AQOfflineRenderTest  音频和视频(音频)AudioToolbox

演示使用音频队列脱机渲染功能和AudioQueueOfflineRender API。该示例从ALAC编码源生成LPCM输出缓冲区,然后将其写入.caf文件。然后播放output.caf文件,确认离线功能按预期工作。演示Audio Queue的所有代码都位于一个名为aqofflinerender.cpp的文件中。

音频转换器文件转换测试  音频和视频(音频)AudioToolbox

演示如何使用音频转换器API将PCM音频格式转换为压缩格式,包括AAC。

音频混音器(MixerHost)  音频和视频(音频)AudioUnit

MixerHost演示了如何在iOS应用程序中使用多声道混音器音频单元。它还演示了如何使用呈现回调函数向音频单元输入总线提供音频。在此示例中,回调传递的音频来自从磁盘读取的两个短循环。但是,您可以使用类似的回调来合成声音以输入混音器单元。本示例在iOS音频单元托管指南中进行了介绍。

音频用户界面声音(SysSound)  音频和视频(音频)AudioToolbox

演示如何使用System Sound Services(AudioToolbox / AudioServices.h)播放警报和用户界面音效,并调用振动。

aurioTouch  音频和视频(音频)AudioUnit

aurioTouch演示如何使用远程I / O音频单元处理音频输入和输出。应用程序可以以下列形式之一显示输入音频:常规时域波形,频域波形(通过对输入信号执行快速傅立叶变换计算)和声波图视图(显示信号随时间变化,颜色信号相对功率,y轴为频率,x为时间)。点击声波图按钮切换到声谱图视图,点击屏幕上的任意位置返回示波器。点击FFT按钮可在FFT转换后执行并显示输入数据。在示波器视图中捏合以扩展和收缩x轴的比例。

AVARLDelegateDemo  音频视频AVFoundation

示例代码描述了用于HLS(HTTP实时流式传输)的AVAssetResourceLoaderDelegate(用于身份加密用例场景)的三种不同用例: - 重定向处理程序(HTTP实况流媒体文件的重定向) - 获取HTTP实况流式媒体的加密密钥段) -  HTTP实况流的自定义播放列表生成(索引文件)。

AVCam for iOS  音频视频AVFoundation

AVCam演示了如何使用AV Foundation捕捉API来录制电影和拍摄静止图像。有录制电影的录制按钮,用于在前后相机(在支持的设备上)之间切换的相机按钮以及用于拍摄静止图像的静止按钮。它仅在实际设备上运行,无论是iPad还是iPhone,并且无法在模拟器中运行。

AVCamManual:使用手动捕获API  AVFoundation

AVCamManual为AVCam示例应用程序添加了用于焦点,曝光和白平衡的手动控制。

AVCaptureAudioDataOutput到AudioUnit iOS  音频和视频(音频)AVFoundation

适用于iOS的AVCaptureToAudioUnit演示了如何使用由AVFoundation的捕获AVCaptureAudioDataOutput对象与各种CoreAudio API出售的CMSampleBufferRefs。应用程序使用带有AVCaptureAudioDataOutput的AVCaptureSession从默认输入捕获音频,使用简单的延迟效果AudioUnit对该音频应用效果,并使用CoreAudio ExtAudioFile API将修改后的音频写入文件。它还演示了如何使用包含AUConverter的AUGraph将AVCaptureAudioDataOutput提供的数据格式转换为合适的延迟效果格式。

AVCompositionDebugVieweriOS  音频视频AVFoundation

这个示例应用程序有一个AVCompositionDebugView,它呈现了底层AVComposition,AVVideoComposition和AVAudioMix对象的视觉描述,这些对象使用两个剪辑形成了作品,在两个音轨之间添加了淡入淡出转场和音频渐变。示例提供的可视化可用作调试工具,以发现错误的合成/视频合成问题。例如:视频合成中断会渲染黑色帧,这可以使用示例中的可视化来轻松检测到。

AVCustomEdit  音频视频AVFoundation

该示例演示如何使用自定义合成器将转换添加到AVMutableComposition。它实现AVVideoCompositing和AVVideoCompositionInstruction协议,以访问各个源帧,然后使用OpenGL离屏渲染来渲染。

AVLoupe  音频和视频(视频)AVFoundation

本示例演示如何使用与单个AVPlayer关联的多个同步AVPlayerLayer实例来高效地生成非平凡的定时可视化媒体。本示例仅使用一个AVPlayer,演示如何同时在多个AVPlayerLayer中显示相同的视频。使用最少的代码,您可以创建非常自定义和创意的视频显示形式。作为示例,此示例演示了用于视频播放的交互式放大镜或放大镜。这与您可能在iPhoto和Aperture中使用的功能类似。

AVMovieExporter  音频和视频(视频)AVFoundation

此通用示例应用程序从素材库和媒体库中读取电影文件,然后使用用户定义的设置将它们导出到新的媒体文件。用户可以通过以下方式调整导出的文件:

AVPlayerDemo  音频和视频(视频)AVFoundation

使用AVPlayer播放iPod库,相机胶卷或iTunes文件共享中的视频。还显示元数据。

AVSimpleEditoriOS  音频视频AVFoundation

AVSimpleEditor是一个简单的基于AVFoundation的电影编辑应用程序,它执行AVVideoComposition,AVAudioMix的API并演示如何将它们用于简单的视频编辑任务。它还演示了它们如何与回放(AVPlayerItem)和导出(AVAssetExportSession)进行交互。该应用程序执行修剪,旋转,裁剪,添加音乐,添加水印和导出。此示例是启用ARC的。

AVTimedAnnotationWriter:使用自定义标注元数据进行电影写入和播放  AVFoundation

演示如何在视频播放过程中使用AVAssetWriterInputMetadataAdaptor API编写圆注释元数据。捕获的电影文件具有视频,音频和元数据轨道。元数据轨道包含使用AVPlayerItemMetadataOutput播放期间出售的圆形注释。

avTouch  音频和视频(音频)AVFoundation

avTouch示例演示如何使用AVAudioPlayer类来进行基本音频播放。

香蕉:一个简单的SceneKit平台游戏  图形和动画(3D绘图)SceneKit

本示例演示如何使用Scene Kit构建基本游戏,演示物理,渲染技术,照明,动作和动画。

模糊和着色图像  图形和动画UIKit的

UIImageEffects演示了如何使用vImage,Quartz和UIKit框架为图像创建和应用模糊和色调效果。vImage框架适用于高性能图像处理。使用vImage,您的应用程序可以获得矢量处理的所有优势,而无需编写矢量化代码。

BonjourWeb  网络与Internet(服务与发现)基础

此应用程序说明了使用Bonjour浏览网络服务的基本原理。BonjourBrowser在导航控制器中将Bonjour域和服务分层显示为表视图。表视图的内容使用NSNetServiceBrowser对象动态地发现和更新。点击服务表中的项目会导致相应的NSNetService对象异步解析。当该解决方案完成时,将调用一个委托方法,该方法构造一个URL并在Safari中打开它。

BracketStripes:使用Bracketed Capture API  AVFoundation

BracketStripes该示例演示了AVFoundation中可用的静态图像包围API的使用。展示了两种类型的支架:1.具有曝光目标偏差的自动曝光支架,以及2.通过ISO和曝光持续时间控制的手动曝光。由于每个方括号内的帧都是实时捕获的,因此它们被“分成”目标图像缓冲区,随后在模态图像查看器中显示,因此每个捕获的帧可以并排比较。

面包屑  用户体验MapKit演示如何使用MapKit

覆盖图MKOverlayView绘制路径,跟踪并跟踪用户的当前位置。包含的CrumbPath和CrumbPathView覆盖视图和覆盖视图类可用于预计随时间变化的任何点的路径。它还演示了将用户位置作为后台进程进行跟踪所需的内容。

BTLE中央外设传输  CoreBluetooth

此示例显示了如何通过在外设端使用CBCharacteristic更改其值,在CoreBluetooth外设模式下将数据从iOS设备传输到另一个模式。价值的变化会自动在中央收集。

检查并请求访问隐私设置中的数据类  安全

“PrivacyPrompts”显示如何在iOS的隐私设置中检查和请求访问数据类,例如位置,联系人和社交媒体。

CloudCaptions:如何将CloudKit集成到您的应用程序中  CloudKit

本示例演示如何使用CloudKit上传和检索CKRecords和相关资产。在这个例子中,有两种记录类型,即图像记录类型和帖子记录类型。用户可以上传他们自己的照片或选择已经在图像记录类型中找到的图像。此示例还使用CKQueries中的NSPredicate根据标签过滤结果。

CloudKitAtlas:CloudKit简介  CloudKit

CloudKitAtlas是一个快速介绍CloudKit的示例。它教你如何使用可发现性来获取登录到iCloud的用户的名字和姓氏。它可以在位置附近添加CKRecord以及查询CKRecords。您可以上传和检索图像作为CKAssets。它还显示如何使用CKReferenceActionDeleteSelf使用CKReferences,以便删除父记录时删除子记录。最后,它还展示了如何在为记录类型添加新项目时使用CKSubscription来获取推送通知。

集合视图转换  用户体验(Windows和视图)UIKit的

此示例说明如何在由导航控制器管理的导航层次结构中的两个集合视图之间导航时创建自定义转换。转换可以被中断并被颠倒。它使用UICollectionViewTransitionLayout的子类来帮助基于手势位置的单元格位置转换。

的CollectionView-简单  UIKit的

演示如何使用UICollectionView,这是一种向网格用户呈现有序数据的方式。使用集合视图对象,您可以定义嵌入视图的显示和排列。集合视图类与附属布局对象紧密协作以定义各个数据项的位置。在这个例子中,UIKit提供了一个标准的基于流的布局对象,您可以使用它来实现包含标准大小项目的多列网格。

使用核心数据的并发操作  用户体验(表格)CoreData

演示如何在多线程环境中使用Core Data,遵循Core Data Programming Guide中提到的第一种推荐模式。

核心音频实用程序类  音频和视频(音频)CoreAudio的“CoreAudio”文件夹包含公共实用程序源(PublicUtility文件夹)以及编解码器和音频单元开发所需的基类。这些实用程序类被各种Apple Core Audio示例项目使用,并扩展或打包Core Audio API。

核心数据可转换属性  数据管理CoreData

此示例说明使用多个实体并使用可变形属性的核心数据应用程序。它还显示持久存储的推断迁移。

核心图像过滤器,包含iOS照片和视频  图形和动画(2D绘图)CoreImage

CIFunHouse项目展示了如何将内置的Core Image和定制的CIFilter应用于照片和视频。该应用程序提供视图控制器,用于添加照片和视频源,从列表中选择CIFilters,并对滤镜参数进行实时调整。该项目还包含自定义CIFilter子类的代码,以实现Sobel边缘检测,旧式电影和假景深场景等效果。该代码还演示了如何将已过滤的视频流保存到ALAssetsLibrary,同时在显示器上预览视频。

CoreBluetooth温度传感器  CoreBluetooth

一个简单的iOS iPhone应用程序,演示如何使用CoreBluetooth Framework连接到蓝牙LE外设,并读取,写入并通知外围设备特性的变化。

CoreDataBooks  数据管理CoreData

本示例演示了使用iOS应用程序处理Core Data框架的许多方面:

CoreTextPageViewer  用户体验(Windows和视图)CoreText

本示例演示如何使用Core Text来显示大量文本,混合样式的文本以及具有特殊样式或布局要求的文本,例如使用自定义字体。此样本的一个版本用于“适用于iPhone OS的高级文本处理”WWDC 2010会议。

CryptoExercise  安全 安全

本示例演示了在iPhone OS SDK上使用两个主要的Cryptographic API集。非对称密钥加密和随机随机数生成是通过安全框架API集处理的,而对称密钥加密和摘要生成由CommonCrypto API集处理。CryptoExercise示例通过网络服务将这两个API集合在一起,通过Bonjour可发现,它在相同子网上的设备之间执行“虚拟”加密协议。

目前的地址  用户体验MapKit

演示MapKit的基本用法,显示地图视图并将其区域设置为当前位置。

自定义动画属性  图形和动画(动画)CoreGraphics中

演示如何利用Core Animation的计时和呈现回调为CALayer子类实现自定义动画属性。无论您的CALayer子类是属于UIView还是独立的,都支持此技术。演示了显式和隐式动画触发器,以及基本和关键帧动画类型。

自定义部分标题与NSFetchedResultsController  数据管理CoreData

“DateSectionTitles”显示了如何使用日期为NSFetchedResultsController创建节信息。

CustomContentAccessibility  用户体验UIKit的

此示例(以前称为WWDCMaps)向您展示了如何支持自定义绘图UIView和UIControl中的辅助功能,演示如何为每个地图项创建辅助功能元素,并在容器视图中实现UIAccessibilityContainer协议以与iOS辅助系统进行交互。本示例还演示了iOS 7中新引入的引导访问限制API,用于在启用了引导访问时限制功能。

CustomHTTPProtocol  网络和互联网基础

CustomHTTPProtocol显示如何使用NSURLProtocol子类来截取高级子系统所做的NSURLConnections,该子系统不会暴露其网络连接。在这种特定情况下,它拦截由Web视图发出的HTTPS请求并覆盖服务器信任评估,允许您浏览默认情况下证书不受信任的站点。

自定义UINavigationBar  用户体验(控制)UIKit的

NavBar演示如何使用UINavigationController和UIViewController类作为应用程序用户界面的构建块。在开始新应用程序的开发时将其用作参考。本示例中的各个页面展示了如何直接修改导航栏,使用外观代理以及修改视图控制器的UINavigationItem的不同方法。定制级别包括各种外观样式,以及应用称为UIBarButtonItems的自定义左右按钮。

DateCell  用户体验(表格)UIKit的

演示格式化显示表格单元格中的日期对象并使用UIDatePicker编辑这些值。

DocInteraction  数据管理(文件管理)UIKit的

演示如何使用UIDocumentInteractionController获取有关文档的信息以及如何预览它们。有两种预览文档的方法:一种是使用UIDocumentInteractionController的预览API,另一种是直接使用QLPreviewController。此示例还演示了使用UIFileSharingEnabled功能,以便您可以使用iTunes将文档上传到应用程序,然后预览它们。借助“kqueue”内核事件通知,该示例监视Documents文件夹的内容。

DownloadFont  CoreText

演示如何在iOS 6及更高版本上按需下载字体。

EADemo  数据管理(设备信息)ExternalAccessory

该样品可与任何专为iPod外接附件框架设计的Made for iPod(MFI)设备一起使用。应用程序将在“附件”窗口中显示一个外接附件附加设备,提供MFI设备注册的信息,并提供向设备发送和接收数据的方法。

枚举样本  基础

EnumerationSample是一个命令行项目,演示如何实现支持基于块的枚举,快速枚举,使用NSEnumerator枚举和下标的类。虽然作为OS X应用程序提供,但本示例演示的技术完全适用于iOS开发。

使用Photos框架的示例应用  相片

一个基本的类似照片的应用程序,它引入了Photos框架。 - 列出相册,文件夹和时刻 - 显示时刻内容或单个相册 - 显示单张照片或视频的内容(并允许在视频情况下播放) - 允许执行以下操作:点击照片编辑*创建相册并添加资源*重新排列相册中的资源*从相册中移除资源*删除资产和相册*(不)从时刻隐藏资产*优化资产

扩展的音频文件转换测试  音频和视频(音频)AudioToolbox

演示如何使用ExtAudioFile API将一种音频格式和文件类型转换为另一种音频格式。

适合:存储和检索HealthKit数据  HealthKit

Fit是作为HealthKit快速入门的示例。它教会你从将数据写入HealthKit到从HealthKit读取数据的一切。这些信息可能已被某些其他应用程序输入到商店中; 例如用户的生日可能已经被输入到健康,以及一些用户的体重由一些流行的体重跟踪器应用程序。Fit显示使用查询从HealthKit使用样本查询和统计查询检索信息的示例。Fit为您提供了使用新的基础类NSLengthFormatter,NSMassFormatter和NSEnergyFormatter的快速介绍。

占地面积:室内定位与核心位置  CoreLocation

使用核心位置获取纬度/经度位置并将其投影到平面布局图上。演示如何从地理坐标系(纬度/经度)转换到平面图的图像坐标系(x,y)。

GenericKeychain  安全  安全

本示例演示如何添加,查询,移除和更新泛型类型的钥匙串项目。还演示了共享钥匙串项目的使用。所有类都表现出非常相似的行为,因此包含的示例将扩展到其他类Keychain Item:Internet密码,证书,密钥和标识。

GeocoderDemo  数据管理CoreLocation

此示例应用程序演示如何使用CLGeocoder实例在字符串和字典上执行正向和反向地理编码。该应用程序还包括一个示例距离计算器,它将显示两个地标之间的距离。

获取电池状态  数据管理(设备信息)UIKit的

演示如何使用通过iOS SDK提供的电池状态属性和通知。

GKAchievements  一般的GameKit

摘要:提供如何成功提交成果并在提交失败时存储它们的示例。

GKAuthentication  一般的GameKit

一个如何使用GameKit成功进行身份验证的示例。

GKLeaderboards  一般的GameKit

GKLeaderboard是一个示例应用程序,展示了如何正确提交分数并使用GKLeaderboardViewController查看分数。

GKTapper  的GameKit

GKTapper是一个示例应用程序,展示了如何支持GameCenter排行榜和成就。它还演示了如何使用GKLeaderboardViewController和GKAchievementViewController来显示这些数据。

GLAirplay  用户体验OpenGLES

演示如何通过在iPhone / iPad上显示用户界面以及在第二台显示器上显示应用/游戏内容,为用户提供更丰富的体验。

GLCameraRipple  音频和视频(视频)AVFoundation

本示例演示如何使用AVFoundation框架从相机捕获YUV帧并在OpenGLES 2.0中使用着色器处理它们。CVOpenGLESTextureCache是​​iOS 5.0的新增功能,用于在使用AVCaptureOutput作为OpenGL纹理时提供最佳性能。另外,通过修改密集镶嵌四边形的纹理坐标来应用连锁纹理效果。

GLEssentials  图形和动画(3D绘图)OpenGLES

本示例提供了使用OpenGL和OpenGL ES API的一些基本技巧的示例。它包括顶点缓冲区对象(VBO),顶点数组对象(VAO),帧缓冲区对象(FBO)和GLSL程序对象的用法。它根据加载的模型数据创建VAO和VBO。然后从图像数据创建模型纹理,并从源代码创建源GLSL着色器。最后,创建FBO和纹理以渲染模型的反射。它使用环境映射GLSL程序将反射纹理应用于平面。

GLGravity  图形和动画(3D绘图)OpenGLES

GLGravity示例应用程序演示了如何将UIAccelerometer类与OpenGL渲染结合使用。它演示了如何使用基本的低通滤波器从加速度计值中提取重力矢量,以及如何从中构建OpenGL变换矩阵。

GLImageProcessing  图形和动画(3D绘图)OpenGLES

GLImageProcessing示例应用程序演示了如何使用OpenGL ES1.1实现简单的图像处理滤镜(亮度,对比度,饱和度,色调旋转,锐度)。该示例还演示了如何使用CoreGraphics创建简单的程序按钮图标。

GLPaint  图形和动画(3D绘图)OpenGLES

GLPaint示例应用程序演示了如何使用OpenGL ES支持单指绘画。该示例还显示了如何检测设备的“抖动”动作。通过查看代码,您将看到如何设置OpenGL ES视图并将其用于渲染绘画笔触。应用程序首先将图像绘制到Core Graphics位图上下文中,从而从图像创建刷子纹理。然后它使用纹理的位图数据。

GLTextureAtlas  图形和动画(3D绘图)OpenGLES

本示例演示了如何使用OpenGL ES同时使用纹理图集来绘制具有不同纹理的多个对象。该应用程序使用PVR格式的纹理地图集。通过添加退化三角形,并使用矩阵自己计算3D变换,我们可以将所有绘图调用合并为一个。

处理接触使用响应者方法和手势识别器  数据管理(事件处理)UIKit的

此示例包含两个演示如何处理触摸的应用程序,其中包括可移动多个对象的多个触摸:“Touches_Responder”演示如何使用UIResponder处理触摸:触摸开始,触摸移动并触摸结束方法。“Touches_GestureRecognizers”演示了如何使用UIGestureRecognizer对象来处理触摸事件。

HazardMap  MapKit

演示如何创建自定义地图工具包覆盖图以显示USGS地震危险数据。它展示了如何创建一个自定义的Map Kit覆盖图和相应的视图,以在MKMapView上显示USGS地震危险数据。

HeadsUpUI  用户体验(Windows和视图)UIKit的

演示如何通过应用程序的主视图控制器实现Heads Up或HUD类用户界面。这基本上模仿了MPMoviePlayerController悬停控件控制影片播放的行为。开发人员可以参考此示例中的最佳实践,了解如何实现这种半透明界面,并提供动画和计时器支持。

HelloGoodbye:使用Accessibility API扩大您的用户群  UIKit的

该项目向您展示了如何使用Accessibility API来扩大您的用户群。它演示了如何在用户使用粗体文本,减少透明度,加深颜色或减少运动时调整用户界面。它还包含可以实现的API的示例,以允许VoiceOver或Switch Control用户与您的应用进行交互。

你好,世界  用户体验UIKit的

HelloWorld演示了如何使用键盘将文本输入到文本字段以及如何在标签中显示文本。

HomeKit目录  一般HomeKit

演示如何使用HomeKit API,并提供用于创建家庭,控制配件,将配件分组到房间和区域的示例UI,创建操作集以将多个操作绑定在一起,创建定时器触发器以在特定时间触发操作集并创建服务将服务分组到上下文中。

iAdInterstitialSuite  iAd的

iAdInterstitialSuite包含两个应用程序,演示iOS 4.3中引入的ADInterstitialAd的用法。

iAdSuite  iAd的

iAdSuite是一组演示如何在许多常见场景中管理ADBannerView的示例,每种场景都在特定示例应用程序中演示。

带故事板的iAdSuite  用户体验iAd的

iAdSuite是一组演示如何在许多常见场景中管理ADBannerView的示例,每种场景都在特定示例应用程序中演示。

应用内音频示例  音频和视频(音频)AudioUnit

这套样品包含三个共同说明应用程序间音频功能的项目。

iOS的国际化和本地化  数据管理(字符串,文本和字体)UIKit的

本示例从现有的Cocoa Internationalization Mountains示例中演示如何在iOS应用程序中集成,设计和编程访问本地化资源和数据。此示例使用多个本地化视图,本地化格式化字符串,本地化应用程序数据,本地化info.plist字符串和本地化应用程序首选项设置包。样本本地化为三种语言:英文,法文和繁体中文。

iPhoneCoreDataRecipes  数据管理 CoreData

本示例显示了如何在iPhone应用程序中使用视图控制器,表格视图和Core Data。

iPhoneMultichannelMixerTest  音频和视频(音频)AudioUnit

演示如何构建将多通道混音器实例连接到RemoteIO设备的音频单元图形。每个输入音量控件都创建两个输入总线。还提供整体调音台输出音量控制,每个总线可以启用或禁用。

KeyboardAccessory  用户体验UIKit的

演示如何使用键盘配件视图。

KeychainTouchID:将Touch ID与Keychain和LocalAuthentication配合使用  LocalAuthentication

KeychainTouchID显示如何将Touch ID保护项目存储到钥匙串以及如何使用自定义消息提示查询项目。它还显示了如何使用新的钥匙串项目辅助功能类,以便在移除密码时使项目无效。它还显示如何使用LocalAuthentication在不涉及钥匙串的情况下调用Touch ID验证。

KMLViewer  MapKit

演示如何在MKMapView上显示KML文件。它演示了如何使用MapKit的注解和覆盖层在MKMapView上显示KML文件。

大图缩小  图形和动画CoreGraphics中

此代码示例演示了一种支持在有限的内存环境中显示超大图像的方法,方法是将磁盘上的大图像转换为内存中较小的图像。这在原始图像太大而无法按照要显示的要求放入内存的情况下很有用。

LaunchMe  数据管理(事件处理)UIKit的

LaunchMe示例应用程序演示如何实现自定义URL方案以允许其他应用程序与应用程序进行交互。它注册了“launchme”URL方案,其中的URL包含HTML颜色代码(例如#FF0000或#F00)。该示例显示了如何通过覆盖-application来处理传入的URL请求:openURL:sourceApplication:annotation:在更新用户界面之前正确解析并从请求的URL中提取信息。

LazyTableImages  用户体验(表格)UIKit的

本示例演示了加载和显示UITableView的多阶段方法。它首先从RSS源中加载相关文本,以便尽可能快地加载表格,然后以异步方式为每行下载图像,以便UI更具响应性。

ListAdder  数据管理 基础

本示例演示使用NSOperation的线程约束技术。它的编写是为了支持TN2109“使用NSOperation实现简单可靠的线程”。

Lister(Apple Watch,iOS和OS X)  用户体验

Lister是iOS 8,OS X 10.10和Apple Watch的基于文档的生产力应用程序。它演示Apple Watch整合; 使用iCloud在多个应用程序目标和平台之间共享内容; 使用应用程序组在单个设备上的应用程序和扩展之间共享本地内容; 创建App Extensions以提供今日小工具和观看应用程序; 并定义一个框架来共享多个目标之间的通用代码。在Swift和Objective-C中都提供了Lister示例应用程序。

LocateMe  数据管理(设备信息)CoreLocation

这演示了Core Location Framework的两个主要用例:获取用户的位置并跟踪用户位置的更改。

LookInside:演示控制器,适应性和自定义动画师对象  UIKit的

此示例显示如何使用自定义演示文稿控制器来创建自定义视图控制器演示文稿。它向视图控制器提供了一个转换委托,该视图控制器发布了一个演示控制器和动画器对象。

托管应用程序配置  一般

“ManagedAppConfig”演示了如何在iOS应用程序中实现托管应用程序配置和反馈支持。此功能允许移动设备管理(MDM)服务器将字典压入托管应用程序的NSUserDefaults中,以便远程配置设置。此外,应用程序还可以将反馈(如严重错误)写入NSUserDefaults,然后由MDM服务器进行查询。这是企业和教育机构可用于从集中式MDM服务器远程配置托管应用程序的强大机制。

MapCallouts  用户体验MapKit

演示使用MapKit框架,显示具有自定义标注或自定义MKAnnotationView的自定义MKAnnotations的地图视图。地图上的注释对象是符合MKAnnotation协议的任何对象,并作为MKAnnotationView显示在屏幕上。通过使用MKAnnotation协议和MKAnnotationView,该应用程序显示了如何使用自定义字符串和左/右calloutAccessoryView来扩展注释。

MapSearch  数据管理MapKit

演示如何使用MKLocalSearch类以编程方式搜索基于地图的地址和兴趣点。它使用自然语言字符串开始搜索基于地图的内容。用户可以输入“咖啡”,按搜索,它会发现附近的所有咖啡的地方。找到的地方以用户的当前位置为中心。一旦找到搜索结果,该示例将显示各种显示结果的方式。它演示了如何使用MKLocalSearchCompletionHandler并用搜索结果填充UITableView。

MessageComposer  用户体验MessageUI

此应用程序显示如何使用MessageUI框架来撰写和发送应用程序内的电子邮件和SMS消息。

MetalBasic3D  图形和动画(3D绘图)金属

这个Metal例子已经从Xcode OpenGL ES模板移植过来,包括一个可重用的视图类和一个建立在simd.h库之上的几何数学库。数学库已经被创建用于在Metal的左手坐标系统中执行几何图形操作,并且在本示例中用于设置基本透视图,查看并模拟场景中渲染的对象的视图投影矩阵。每个立方体都使用具有漫反射和环境组件的基本3D照明着色器单独进行渲染。其他效果已添加到模板中的一个旋转立方体中,以演示如何在每帧中更改单个对象的统一值,同时保持另一个常量,同时在内存中共享相同的缓冲区。

MetalDeferredLighting  图形和动画(3D绘图)金属

MetalDeferredLighting被设计为一次使用可编程混合渲染单个渲染编码器中的g缓冲和光积累的示例。在这个例子中,我们渲染了2遍。同样,它也是Metal中多通道渲染器的一个例子。在这种情况下的“通过”被定义为在将纹理交换出来以用于新纹理之前全部绘制到纹理。第一遍根据计算出的太阳位置渲染阴影贴图。第二遍通过写入和读取包含4个颜色附件的帧缓冲器来执行延迟照明算法。其中三个附件用g-buffer值(反照率,线性深度,正常)播种。接下来,渲染光图元以将光聚集到光聚集附件中,直接从其他附件中读取g-buffer值。全屏四合一将光线累积缓冲区与反照率纹理相结合,将阴影贴图作为纹理进行采样,并应用来自太阳的光线贡献。这个组合的结果通过用最终的合成输出覆盖反照率附件。最后,代表每个点光源(精心称为精灵)的粒子呈现在顶部。G缓冲区中的反照率纹理现在包含最终值,因为它的纹理是CAMetalLayer的可绘制纹理,所以可以将其显示给显示器。代表每个点光的粒子(精心称为精灵)呈现在顶部。G缓冲区中的反照率纹理现在包含最终值,因为它的纹理是CAMetalLayer的可绘制纹理,所以可以将其显示给显示器。代表每个点光的粒子(精心称为精灵)呈现在顶部。G缓冲区中的反照率纹理现在包含最终值,因为它的纹理是CAMetalLayer的可绘制纹理,所以可以将其显示给显示器。

MetalImageProcessing  图形和动画(3D绘图)金属

此示例通过添加金属计算编码器将图像转换为灰度来扩展纹理四元素样本。请注意,计算编码器与渲染编码器是同一通道的一部分,因此演示了如何跨计算和渲染使用相同的共享CPU / GPU数据。

MetalInstancedHelix  金属

此示例呈现一组使用Metal的多维数据集,并通过直接在共享的CPU / GPU内存缓冲区中修改每个多维数据集的统一来交替其颜色。可以直接在AAPLRenderer.mm文件中修改多个参数,包括立方体的数量及其大小。立方体使用球坐标系呈现为螺旋路径,以获得平移矩阵的x,y,z。每个立方体都使用基本的3D phong光照着色器单独进行渲染,但使用Metal的实例化API仅在一次绘制调用中绘制。请注意,对于每个帧,每个立方体的变换矩阵随其颜色一起更新,因此在每个帧中样本必须经过2n个立方体。

MetalShaderShowcase  金属

“金属着色器展示”演示了金属优化的各种视觉技术。它包含7个独特的着色器:Phong着色器,木材着色器,雾着色器,cel着色器,法线贴图着色器和粒子系统着色器。使用Metal反射API,渲染器向着色器查询需要哪些参数并将它们呈现给渲染编码器。

MetalTexturedQuad  图形和动画(3D绘图)金属

此示例显示如何创建金属中的基本纹理四边形。它包含确保纹理四边形的正确渲染方向所需的所有转换。

MetalUniformStreaming  图形和动画(3D绘图)金属

Metal会创建可以异步读取和写入CPU和GPU的数据缓冲区资源。此示例演示如何使用数据缓冲区为顶点着色器和片段着色器设置统一。

MetalVertexStreaming  图形和动画(3D绘图)金属

本示例演示了如何使用CPU和GPU共享的一块内存在三个命令缓冲区之间流式传输顶点数据。原始数据每帧都被复制回金属共享CPU / GPU缓冲区,并直接在缓冲区中修改以为三角形设置动画。

MetalVideoCapture  金属

本示例演示如何将捕获的视频纹理(从iOS设备上的前置摄像头)流式传输到用Metal渲染的3D场景中。视频纹理与来自立方体贴图(其也被独立地渲染为星空天空盒)和二维贴图PVRTC纹理(铜金属纹理)的环境贴图反射相结合。

混音器iPodEQ AUGraph测试  音频视频CoreAudio的

演示如何构建将多声道混音器连接到iPodEQ单元然后连接到RemoteIO单元的音频单元图形。

MotionEffects  用户体验UIKit的

MotionEffects演示将运动效果应用于视图,以便通过创建并列效果来增强深度幻觉。这个示例分为三个不同的部分,每个部分都展示了使用运动效果的独特方式。

MotionGraphs  用户体验CoreMotion

“MotionGraphs”演示了如何使用推送方法从Core Motion接收数据。它显示加速度计,陀螺仪和设备运动数据的图形。

MoveMe的  用户体验UIKit的

此应用程序展示了使用UIKit和Core Animation的简单绘图,触摸处理和动画。

MoviePlayer  音频和视频(视频)媒体播放器

演示如何使用Media Player框架从文件或网络流中播放影片,并配置影片背景颜色,播放控制,背景颜色和图像,缩放和重复模式。它还演示了如何在播放过程中在电影上绘制自定义叠加控件。

MTAudioProcessingTap音频处理器  音频视频AVFoundation

示例应用程序将MTAudioProcessingTap与AV Foundation结合使用,以便可视化音频样本以及将Core Audio音频单位效果(带通滤波器)应用于音频数据。

MultipeerGroupChat  网络和互联网MultipeerConnectivity

Multipeer Group Chat是一个基于Multipeer Connectivity框架的示例应用程序,用于在“附近”对等设备之间发现,连接和共享数据。此应用程序使用基于框架的用户界面来连接到本地对等方和框架便利API,用于在设备之间传递文本消息和图像资源。

使用UITableView进行多选  用户体验(表格)UIKit的

“TableMultiSelect”演示了如何在UITableView中使用多个表格单元格,特别是使用多个选项删除一个或多个项目。

MultipleDetailViews  用户体验(Windows和视图)UIKit的

本示例演示如何使用UISplitViewController来管理多个详细视图的显示以及导航层次结构。

MusicCube  图形和动画(3D绘图)GLKit

MusicCube演示了iPhone上OpenGL ES,OpenAL和音频文件服务的基本用法,用于在3D环境中处理声音。应用程序中的四种模式说明了音量和平衡将如何根据全向声源的位置以及听者的位置和旋转而改变。点击屏幕切换模式。

MVCNetworking  网络和互联网

MVCNetworking是一个示例,展示了如何使用Model-View-Controller设计模式创建网络应用程序。具体来说,它通过获取图库的XML描述,缩略图和来自Web服务器的照片来显示照片库,并使用核心数据在本地缓存这些信息。

MyImagePicker  一般AssetsLibrary

演示如何使用AssetsLibrary框架创建图像选择器用户界面,以显示从iTunes同步的所有专辑,事件和面孔。

oalTouch  音频和视频(音频)OpenAL的

该代码使用OpenAL播放单个音频源。通过在网格上拖动图标来移动源或侦听器位置。打开加速度计功能,通过倾斜设备来设置监听方向。

适用于iOS的打包文档  数据管理(文件管理)基础

“PackagedDocument_iOS”是使用UIDocument和NSFileWrapper打开,编辑和保存打包文档的示例应用程序。此示例是启用了ARC(自动引用计数)的。

的PageControl  用户体验UIKit的

此应用程序主要演示如何使用UIScrollView的分页功能将水平滚动用作在不同内容页面之间导航的机制。使用iPad时,这种类型的用户界面并不是必须的,因为屏幕较大,可以提供更多内容和详细信息。

公园  数据管理(事件处理)CoreMotion

pARk是一个应用程序项目,演示如何使用Core Motion真正的北参考态度API。它包含一个UIView子类ARView,它在合适的坐标处显示一个带有感兴趣的位置的实时相机馈送。感兴趣的地方是世界上一些着名的公园。

PhotoHandoff:实现NSUserActivity以切换用户操作  UIKit的

演示如何使用基于“CollectionView-Simple”示例的NSUserActivity。这是一个在iPhone和iPad上运行本机的通用示例。 - 为两个设备启用切换(设置 - >常规 - >启用切换) - 两台设备都必须登录到同一个iCloud帐户 - 必须打开蓝牙(设置 - >蓝牙)

影像地图  用户体验MapKit

PhotoMap示例演示如何将地理标记的照片加载并显示为Map Kit注释。它进一步演示了如何将多个注释集中在一起以减少屏幕上的混乱。

PhotosByLocation  一般AssetsLibrary

演示如何使用AssetsLibrary API来提供自定义图像选择UI。用户体验以使用资产位置和时间元数据作为某些功能的基础的想法为中心。

PhotoScroller  用户体验UIKit的

“PhotoScroller”演示了如何使用嵌入式UIScrollViews和CATiledLayer创建丰富的用户体验,用于显示和分页可单独平移和缩放的照片。CATiledLayer用于通过高分辨率图像或大量照片来提高分页,平移和缩放的性能。

PocketCoreImage  图形和动画CoreImage

此示例演示如何将核心图像过滤器应用于静止图像。过滤器配置是自动完成的(使用随机数字),并且可以同时应用多个过滤器。虽然此示例使用用户可以从中选择的预设过滤器列表,但在下一节中提供了代码,该代码演示了向系统询问过滤器列表的过程。

iOS中的Popover控制器  用户体验(Windows和视图)UIKit的

“Popovers”展示了如何在iOS中使用UIPopoverController,包括展示,解雇和旋转。该示例使用UISplitViewController来显示如何呈现条形按钮项目中的弹出。它还演示了如何确保多个UIPopoverController不会同时出现。

PrefsInCloud  数据管理

一个简单的iOS iPhone应用程序,演示如何使用iCloud键值存储在其他iOS设备上使用相同的应用程序共享单个数据,其背景颜色。它使用NSUbiquitousKeyValueStore通过存储代表所选颜色索引的简单NSInteger来实现此目的。

PrintPhoto  图形和动画(2D绘图)UIKit的

PrintPhoto演示如何打印照片。该应用程序允许用户查看和打印用户照片库中的任何照片。它最初提供了一个内置于应用程序包中的照片,但通过触摸照片选择器图标,您可以选择库中的任何照片。

PVRTextureLoader  图形和动画(3D绘图)OpenGLES

该应用程序演示了如何使用包含的PVRTexture类加载PVR纹理文件,然后使用OpenGL显示它们。

石英作曲家概念作品  图形和动画QuartzCore

演示如何使用Quartz Composer实现合成流,图像流,音乐可视化器和其他效果的组合。

Quartz Composer HistogramOperation  图形和动画

一个Quartz Composer插件,根据另一个图像的直方图改变源图像。

Quartz Composer IMStatus  图形和动画

一个Quartz Composer插件,用于返回给定即时消息服务上登录用户和他或她的好友的信息。

Quartz Composer iPatch  图形和动画

一个将任何名称转换为“iName”的Quartz Composer插件。

Quartz Composer SQLiteQuery  图形和动画

一个对本地SQlite数据库执行查询的Quartz Composer插件。

Quartz2D for iOS  图形和动画(2D绘图)CoreGraphics中

QuartzDemo是一个iOS应用程序,用于演示CoreGraphics框架提供的许多Quartz2D API。Quartz2D构成了iPhone OS上所有绘图的基础,并提供绘制线条,多边形,曲线,图像,渐变,PDF和许多其他图形工具的功能。

QuickContacts  数据管理(联系数据)地址簿

QuickContacts演示如何使用地址簿UI控制器和各种属性,如displayedProperties,allowsAddingToAddressBook和displayPerson。它显示如何浏览地址簿联系人列表,显示和编辑联系人记录,创建新联系人记录以及更新部分联系人记录。

可达性  网络与Internet(服务与发现)系统配置

Reachability示例应用程序演示了如何使用SystemConfiguration框架来监视iOS设备的网络状态。特别是,它演示了如何知道何时可以路由IP以及何时通过无线广域网(WWAN)接口(例如EDGE或3G)路由流量。

使用AVPlayerItemVideoOutput进行实时视频处理  音频和视频(视频)AVFoundation

AVBasicVideoOutput演示如何使用AVPlayerItemVideoOutput执行实时视频处理,以及如何使用CAEAGLLayer和CADisplayLink在屏幕上显示处理后的视频帧。AVPlayerItemVideoOutput提供样本缓冲区(CVPixelBufferRef),然后根据用户通过UISliders的输入调整它们的亮度(Y)和色度(UV)值。这些经过处理的像素缓冲区将呈现给CAEAGLLayer。

反射  图形和动画(2D绘图)UIKit的

本示例演示如何在给定的UIImageView上实现“反射”特殊效果,这在iTunes和iPod播放器应用程序中最常见。

地区  用户体验MapKit

此示例演示了如何正确使用区域监控,重要的位置更改以及iOS上后台处理位置事件。该示例使用一个MKMapView,允许用户添加和删除要监视的区域,以及一个UITableView来显示发生的区域输入/退出/失败事件。当应用程序进入后台时,位置更新将停止,重要的位置更改将启动。同样,当应用程序进入前台时,位置更新将再次开始,重要的位置更改将停止。当位置更新发生在后台时,会在主屏幕图标中添加一个标志,显示记录的区域进入/退出/失败事件的数量。

RosyWriter  音频和视频(视频)AVFoundation

RosyWriter

照片编辑扩展示例  语言和实用程序(图形工具)UIKit的

本示例演示如何实现Photo Editing扩展。此扩展程序允许用户选择滤镜效果以应用于在照片或相机中选择的照片或视频。

示例打印页面渲染器  图形和动画UIKit的

本示例演示使用UIPrintPageRenderer子类完全控制打印页面。除了绘制整页自定义内容,自定义页眉和页脚之外,它还显示了如何使用UIPrintFormatters来完成一些繁重工作。

采样器单位预设(LoadPresetDemo)  音频和视频(音频)AudioUnit

此示例代码项目演示如何创建包含采样器音频单元的iOS音频处理图表,以及如何通过加载在Mac OS X中创建的AUPreset文件来配置采样器。该项目还显示了如何启动图形并触发注释-on和note-off事件来试听预设。

SceneKit联盟演示的状态  SceneKit

这个例子展示了如何实现工会的状态演示。它包括物理模拟,粒子,碰撞,物理场,3D文本,与SpriteKit的集成和自定义GLSL着色器的示例。

SceneKit车辆演示  SceneKit

此示例代码显示了如何使用SCNPhysicsVehicle行为模拟车辆。车辆可以是加速度计或游戏控制器的控制器。它还说明了使用SpriteKit完成的基本物理交互和游戏覆盖。

简单的后台传输  网络和互联网UIKit的

“SimpleBackgroundTransfer”演示了如何使用NSURLSession来支持后台传输以管理下载任务。

简单的核心数据关系  数据管理CoreData

TaggedLocations说明了如何在iOS应用程序中更改Core Data属性和关系。

简单的手势识别器  数据管理(事件处理)UIKit的

本示例显示如何轻松使用UITapGestureRecognizer,UISwipeGestureRecognizer和UIRotationGestureRecognizer来检测用户手势。它演示了如何使用基于识别器的基本目标动作消息传递,还展示了:如何在运行时使用委派来切换识别器的行为; 维护对识别器的引用的选项; 以及与视图独家触摸设置的互动。

简单的UISearchBar状态恢复  用户体验(表格)UIKit的

“TableSearch”演示了如何使用UISearchDisplayController对象。当您在表格视图中显示大量数据时,可以使用搜索显示控制器让用户搜索表格视图的内容以快速找到感兴趣的项目。该示例显示了如何在表格视图中显示数据,并使用搜索显示控制器显示搜索栏和显示搜索结果的另一个表格视图。该示例还说明了状态恢复的使用。

SimpleEKDemo  EventKit

该应用程序演示如何检查并请求访问用户的日历。它使用表视图显示从EKEventStore对象检索到的EKCalendar对象和EKEvent对象。它实现EKEventViewController来查看和编辑现有的EKEvents,并使用EKEventEditViewController来创建新的EKEvent。

SimpleFTPSample  网络和互联网(协议流)基础

SimpleFTPSample显示如何使用NSURLConnection和CFFTPStream API执行简单的FTP操作。它可以使用NSURLConnection和CFFTPStream来下载文件。此外,它可以上传文件,列出目录,并使用CFFTPStream创建目录。

SimpleNetworkStreams  网络和Internet(套接字和TCP)

演示如何使用NSStream API进行简单的网络连接。本示例的目标非常有限:它没有展示实现完全成熟的网络产品所需的一切,而是着重于使用NSStream API在网络上移动实际数据量。

SimpleUndo  用户体验基础

根视图控制器显示关于书籍的信息(标题,作者和版权日期)。用户可以通过点击导航栏中的编辑来编辑该信息。编辑开始时,根视图控制器会创建一个撤销管理器来记录更改。撤销管理器最多支持三级撤消和重做。当用户点击完成时,更改被视为提交并且撤消管理器被丢弃。

SimpleURLConnections  网络和互联网(协议流)基础

SimpleURLConnections显示了如何使用NSURLConnection API进行简单的网络连接。此示例的目标非常有限:它没有展示实现完全成熟的网络产品所需的一切,而是其目标是使用NSURLConnection API演示简单的HTTP GET,PUT和POST。

SpeakHere  音频和视频(音频)AudioToolbox

SpeakHere演示了iPhone上音频队列服务,音频文件服务和音频会话服务的基本使用,用于录制和播放音频。

SquareCam  音频和视频(视频)AVFoundation

SquareCam演示iOS 5中AVCaptureStillImageOutput类的改进,突出显示以下功能:

国家恢复  用户体验UIKit的

演示如何实施和调试“State Preservation and Restoration”的API。

儿童视图控制器的状态恢复  用户体验UIKit的

演示如何在带有子视图控制器的应用中实施“状态保存和恢复”。该示例包含一个父视图控制器,它可以托管两个不同的子视图控制器。用户轻敲分段控件以在两个不同的孩子之间切换。

StitchedStreamPlayer  音频视频AVFoundation

一个简单的AVFoundation演示,演示如何使用定时元数据标识流中的不同内容,支持自定义搜索UI。

适用于iOS的StopNGo  音频和视频(视频)AVFoundation

StopNGo是一款使用AVFoundation的简单定格动画QuickTime录像机。

StoreKitSuite  StoreKit

StoreKitSuite包含iOSInAppPurchases和IAPStoreProductViewController示例代码,演示如何实现应用内购买。

StreetScroller  用户体验(控制)UIKit的

演示UIScrollView子类如何在水平方向上无限滚动。

使用UISearchController进行表搜索  用户体验UIKit的

“使用UISearchController进行表搜索”是一个演示如何使用UISearchController的iOS示例应用程序。搜索控制器管理搜索栏的显示(与结果视图控制器的内容一致)。

表视图动画和手势  用户体验(表格)UIKit的

“TableViewUpdates”演示了如何使用动画更新打开和关闭表格视图的各个部分以供查看,其中每个部分表示一个播放,并且每行包含播放中的引用。它还使用手势识别器来响应用户输入:* UITapGestureRecognizer允许点击节标题以扩展节; * UIPinchGestureRecognizer允许动态改变表格视图行的高度; * UILongPressGestureRecognizer允许按住表格视图单元以启动报价电子邮件。

适用于iOS的TableView基础知识  用户体验(表格)UIKit的

此示例显示如何通过显示有关时区的信息的越来越先进的应用程序的进程来使用UITableView和UITableViewController。

TableViewCell附件  用户体验(表格)UIKit的

本示例演示了两个可用于在UITableViewCell中实现自定义附件视图的方法。在这两个示例中,都使用了实现可切换复选框的自定义控件。

Tabster  用户体验(Windows和视图)UIKit的

一个折衷主义风格的应用程序,旨在展示如何构建基于标签栏的iOS应用程序。

特斯拉  CoreLocation

这个应用程序实现了一个特斯拉计,一个磁场探测器。它显示原始的x,y和z磁力计值,绘制这些值的历史记录,以及计算的磁场强度(大小或强度)。

要素  数据管理UIKit的

元素是一个示例应用程序,用于访问元素周期表中包含的数据。元素周期表编目Universe中所有已知的原子元素。

TopSongs  性能CoreData

此示例代码演示了从XML RSS源中有效地解析和导入数据到Core Data。该Feed源自iTunes Top Songs,包含有关歌曲,艺术家和类别的数据。应用程序的数据模型有一个Song和Category的实体。被管理对象被插入到后台线程中的管理对象上下文中,因此应用程序在进行导入时仍然响应用户。

UICatalog:创建和自定义UIKit控件(Obj-C和Swift)  用户体验UIKit的

本示例演示如何在UIKit框架中使用许多视图和控件及其各种功能。如果您正在查找系统提供的特定控件或视图,请参阅此示例。本示例还向您展示了如何使您的非标准视图(图像或自定义视图)可访问。使用iOS Accessibility API可增强VoiceOver用户的用户体验。

UIImagePicker视频录像机  音频和视频(视频)UIKit的

演示如何为UIImagePickerController的相机变体创建自定义UI,以及如何以编程方式控制视频录制。

UIKit动态目录  图形和动画UIKit的

UIKit Dynamics Catalog说明了UIKit Dynamics的一些用法,UIKit Dynamics是为视图和其他动态项目提供物理相关功能和动画的iOS API。该项目中的10个视图控制器中的每一个都显示了使用UIKit Dynamics的不同方式 - 在许多情况下,将动态行为组合为有趣的结果。

使用UIPrintInteractionController和UIViewPrintFormatter进行UIKit打印  图形和动画(2D绘图)UIKit的

PrintWebView演示如何使用UIViewPrintFormatter类打印由UIWebView对象显示的内容。此示例应用程序是一个具有打印功能的原始Web浏览器。

单元测试应用程序和框架  Xcode(IDE)

演示如何为iOS应用程序和Mac应用程序构建静态库,如何在每个平台上的库源代码上实现和运行逻辑单元测试,以及如何实现和运行应用程序的应用程序单元测试。

UnwindSegue  用户体验UIKit的

本示例演示了如何使用segues和展开segues来驱动应用程序中各种内容屏幕之间的导航。该项目包含两个构建目标:UnwindSegue和CustomUnwindSegue。UnwindSegue演示了如何使用unwind segues和模式化的视图控制器以及UINavigationController中的视图控制器。CustomUnwindSegue演示了如何实现一个自定义的容器视图控制器,该控制器可以与unwind segues一起使用。

Urlcache文件  性能

URLCache是​​一个示例iPhone应用程序,演示了如何从Web下载资源,将其存储在应用程序的数据目录中,并使用资源的本地副本。URLCache还演示了如何实施一对缓存策略:

在工具栏中使用搜索栏  用户体验(控制)UIKit的

“ToolbarSearch”显示如何在工具栏中使用搜索栏并在弹出窗口中显示最近的搜索。

使用AirPrint打印横幅  一般

PrintBanner显示如何将任意长度的横幅打印到卷筒打印机。代码将作业格式化为横向,然后计算填充纸张宽度的字体大小。然后确定文本的长度并填充长度,以便最终剪切长度产生令人满意的布局。

使用AVAudioEngine进行播放,混合和录制  音频和视频(音频)AVFoundation

本示例使用带有两个AVAudioPlayerNode和AVAudioPCMBuffer对象的AVAudioEngine以及一个AVAudioUnitDelay和AVAudioUnitReverb来播放两个可以混合,处理和记录的循环。

使用外部显示器  用户体验(Windows和视图)UIKit的

如何检测外部显示器的存在,确定可用的显示器分辨率,选择分辨率并在显示器上显示内容。

使用NSXMLParser来分析XML文档  数据管理UIKit的

“SeismicXML”演示了如何使用NSXMLParser来解析XML数据。XML解析发生在使用NSOperation的后台线程上,并用批量的解析对象更新地震表视图。

使用UIImagePickerController选择图片和拍照  用户体验UIKit的

PhotoPicker演示了如何从照片库中选择图像,使用设备的相机拍照,以及如何自定义相机用户界面的外观。这是通过使用UIImagePickerController完成的。所选图像或相机照片显示在UIImageView中。要自定义相机的界面,此示例显示如何使用叠加视图。使用此覆盖视图,您可以在拍摄照片时自定义UI。

VideoSnake  音频视频AVFoundation

VideoSnake演示视频与运动数据的时间同步。

ViewTransitions  图形和动画(动画)UIKit的

演示如何使用UIView的transitionFromView和animateWithDuration API在两个视图之间执行转换。

WatchKit目录:使用WatchKit界面元素  一般WatchKit

本示例演示如何使用WatchKit框架中可用的UI元素。如果您想了解如何使用,配置每个UI元素并与其交互,请参阅此示例。该项目还向您展示了如何使用WKInterfaceGroup对象创建复杂的布局,如何在iPhone上加载图像以发送给Apple Watch,以及如何使用Handoff将用户数据从一览或通知移动到Watch应用程序。

WiTap  网络与Internet(服务与发现)基础

WiTap示例演示通过Wi-Fi和蓝牙进行点对点联网。使用Bonjour,应用程序既在本地网络上公布自己,也在网络上显示其他实例的列表。支持基础设施网络,点对点蓝牙和点对点Wi-Fi(在兼容的硬件上)。

XMLPerformance  性能基础

本示例探讨了解析XML的两种方法,重点关注速度,内存占用和用户体验方面的性能。所用的XML数据是iTunes商店中的当前“300首”歌曲。数据本身对于样本并不特别重要 - 它的选择是因为它的简单性和可用性,并且因为样本的大小(大约850KB)足以证明性能问题的核心。

ZoomingPDFViewer  图形和动画(2D绘图)CoreGraphics中

使用UIPageViewController进行多页面PDF查看,可以横向显示两页样条曲线,这看起来像是iBooks中的一本书。该示例还使用UIScrollView和CATiledLayer支持在纵向方向中使用的单页视图内缩放。这个应用程序是通用的,并且只支持iPad上横向两页样条视图。

推荐阅读更多精彩内容