iOS苹果官方Demo合集一(更新地址)

转载自:outstanding简书-iOS 苹果官方Demo合集

苹果官方:https://developer.apple.com/library/archive/navigation/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • AVLoupe 音频和视频(视频)AVFoundation

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

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

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

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

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

  • avTouch 音频和视频(音频)AVFoundation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • DateCell 用户体验(表格)UIKit的

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335