如果App需要記錄使用者的設定,除了可以自己重寫一套Preference以外,也可以利用iOS提供Settings.bundle。
不過Settings.bundle只能從App外部存取,也就是說系統會把所有的Settings.bundle收集起來,集中顯示在預先安裝的Settings。如果希望在App內部能夠存取Settings.bundle則需要透過第三方函式庫InAppSettingsKit。
使用方式不會太複雜,從github下載可以找到InAppSettingsKit最新的程式碼,uncompress或者clone後複製InAppSettingsKit整個目錄。
然後把目錄加進專案的管理樹。
接著新增必要的MessageUI.framework。
最後準備一組Settings.bundle。
InAppSettingsKit的使用方式有很多種。其中我們可以在ViewController實做IASKSettingsDelegate這個Interface,並且宣告InAppSettingsKit自己的ViewController。
InAppSettingsKit的ViewController雖然宣告成Property但是要有自己的提取函式。另外settingsViewControllerDidEnd如果沒有實作,按下按紐Done不會有任何反應。doTest裡面的邏輯是其中一種顯示方式,這種方式的Settings畫面會從螢幕底部滑進來。
透過InAppSettingsKit滑進來的設定畫面,如同我們在預先安裝的Settings畫面一樣。這樣使用者就可以在App的內部和外部以相同的邏輯和畫面去改變或者瀏覽App的設定值了。
相关推荐
在提供的ZipTest项目中,你可以找到一个完整的示例,演示了如何在iOS应用中使用ZipArchive进行文件压缩和解压缩。这个项目可以帮助你理解如何将ZipArchive库集成到实际项目中,并进行相应的操作。 总之,ZipArchive...
在iOS开发中,ijkplayer是一个常用的开源视频播放器库,由Bilibili贡献,它基于FFmpeg,并提供了更友好的接口来实现视频播放功能。这个"IOS-使用ijkplayer简单demo"是一个帮助开发者快速理解并集成ijkplayer到iOS...
iOS使用UITableView实现的富文本编辑器iOS使用UITableView实现的富文本编辑器iOS使用UITableView实现的富文本编辑器iOS使用UITableView实现的富文本编辑器iOS使用UITableView实现的富文本编辑器iOS使用UITableView...
在iOS设备的使用过程中,用户常常会遇到各种问题,例如系统更新、数据管理、应用安装等。而"iOS Helper"正是为解决这些问题而设计的一款强大实用工具,专为苹果iOS系统提供全方位的支持和服务。 首先,iOS Helper的...
使用ncnn在ios+android上部署yolov5源码+详细说明.zip使用ncnn在ios+android上部署yolov5源码+详细说明.zip使用ncnn在ios+android上部署yolov5源码+详细说明.zip使用ncnn在ios+android上部署yolov5源码+详细说明.zip...
标题中的“解决页面使用overflow: scroll在iOS上滑动卡顿的问题1”指的是在iOS设备上,当HTML元素使用CSS属性`overflow: scroll`时,滚动可能会变得卡顿不顺畅。这个问题通常不会在Android设备上出现,使得开发者...
"ios开发-使用mpass移动开发框架在ios端抓包hook脚本.zip"是一个针对iOS开发者的重要资源,它包含了一套利用mpass移动开发框架在iOS设备上实现抓包功能的hook脚本。本文将详细介绍如何使用这个框架和脚本来实现iOS端...
在iOS应用开发中,SVG图像是一个理想的选择,特别是在需要高质量图像且需要考虑不同屏幕尺寸的情况下。SVGKit是iOS平台上的一个开源库,专门用于解析和渲染SVG图像。 SVGKit库提供了方便的方法来在iOS应用中显示SVG...
从iOS 10开始,访问相册需要在Info.plist文件中声明使用权限。打开`YourProjectName/config.xml`文件,添加以下权限声明: ```xml *-Info.plist" mode="merge" target="NSPhotoLibraryUsageDescription"> 需要访问...
本篇文章将详细介绍如何在iOS项目中使用ZXingObjC进行二维码和条形码的扫描,并通过CocoaPods进行库的管理和集成。 首先,让我们了解ZXingObjC。ZXing,又名Zebra Crossing,是一个跨平台的开源项目,提供多种格式...
这个文件定义了如何在Xcode或其他IDE中使用Clang编译器来构建iOS项目。它通常会包含如下内容: 1. 指定用于构建的iOS SDK版本。 2. 设置C、C++和Objective-C的编译器路径。 3. 配置目标架构(如arm64, armv7等)。 ...
在iOS开发过程中,真机调试是一项至关重要的环节,它允许开发者在实际设备上测试应用程序,以确保软件在各种硬件配置和系统版本上的表现。本文将详细介绍"iOS13真机调试包"及其相关知识点。 首先,我们要理解什么是...
总结,本文详细讲解了在iOS应用中使用系统相机以及自定义拍照界面的方法。从请求权限到展示相机预览,再到捕获和处理照片,每个步骤都有清晰的代码示例。通过学习这些知识,开发者能够灵活地构建符合自己应用需求的...
例如,iOS 12引入了更精细的权限管理,用户可以为特定的应用选择“仅在使用应用时”获取一次位置。 3. 文件名称列表解析:列表中的“12.1.5、12.0、12.3、12.1.4、12.1、11.4、11.0、12.2、12.4”可能代表不同iOS...
在iOS开发中,SQLite是一个非常重要的数据库管理系统,用于存储应用程序中的结构化数据。SQLite是一个轻量级、嵌入式、关系型数据库,它不需要独立的服务进程,并且可以直接集成到iOS应用中。本教程将深入探讨如何在...
在iOS6中,开发者可能需要使用Frame布局,而在iOS7中,推荐使用Auto Layout以支持动态布局。 2. Status Bar和Top Layout Guide:iOS7中,状态栏(Status Bar)与应用内容之间的距离增大,因此在布局时需考虑到这一...
2. 选择iOS打包,支持的设备类型(可以选择支持iPhone和支持iPad),选择使用苹果证书。 3. 输入App ID(Bundle ID),选择上传配置文件(.mobileprovision)和私钥证书(.p12),输入私钥密码。 4. 点击打包,...
标题中的“Protobuf在Unity使用DLL方式调用(IOS可用)”指的是使用Google的Protocol Buffers(简称Protobuf)在Unity游戏引擎中通过动态链接库(DLL)的方式进行跨平台通信,特别是针对iOS平台的兼容性问题。...
iOS 14.8是14.x系列的最后一个更新,对于仍在使用这个版本的用户来说,保持应用的兼容性是非常重要的。而iOS 14.7可能涉及对HomeKit和天气应用的更新,开发者应确保这些改动不会影响到应用的正常运行。 在实际操作...
这个名为"ios-iOS 字体大全.zip"的压缩包显然包含了一系列适用于iOS系统的字体资源,可能是为了方便开发者或者设计师在构建应用程序时使用。让我们深入探讨一下iOS字体的相关知识点。 首先,iOS系统自带多种字体,...