从入门到精通:iOS中的https与plist配置详解
一、引言
随着移动互联网的飞速发展,iOS应用在网络通信方面的需求日益增加。
其中,https协议和plist配置文件在iOS开发中扮演着重要角色。
本文将详细介绍iOS中的https与plist配置,帮助开发者从入门到精通掌握相关知识。
二、HTTPS概述
HTTPS是一种通过计算机网络进行安全通信的传输协议,它在HTTP协议的基础上,通过SSL/TLS加密通信,确保数据传输的安全性和完整性。
在iOS开发中,使用HTTPS协议可以保护用户数据,提高应用的安全性。
三、iOS中的HTTPS配置
1. 导入相关库
在iOS开发中,使用HTTPS需要导入Security和SystemConfiguration库。
这两个库提供了SSL/TLS加密和网络安全相关的功能。
2. 配置服务器信任证书
在iOS中配置HTTPS通信时,需要验证服务器的信任证书。开发者可以通过以下步骤配置服务器信任证书:
(1)获取服务器证书数据
(2)创建证书信任对象并添加到信任证书存储中
(3)配置URL加载系统以使用自定义的信任证书存储
3. 使用NSURLSession进行HTTPS请求
在iOS中,可以使用NSURLSession进行HTTPS请求。
开发者需要创建一个URL对象,然后使用NSURLSession发送请求。
在请求完成后,可以通过响应对象获取服务器返回的数据。
四、Plist配置文件详解
Plist(Property List)是iOS开发中常用的配置文件格式,用于存储应用程序的配置信息。
Plist文件以XML或二进制格式存储数据,易于阅读和修改。
1. Plist文件的作用
Plist文件在iOS中主要用于存储应用程序的配置信息,如应用的名称、图标、版本号等。
还可以用于存储用户设置的偏好信息,如界面语言、字体大小等。
2. Plist文件的创建与编辑
在Xcode中,可以通过以下步骤创建和编辑Plist文件:
(1)在Xcode项目导航栏中右键点击项目名称,选择“New File”。
(2)在“Add NewFile to Your Project”窗口中,选择“Resource”类别下的“Property List”文件。
(3)给文件命名并保存。
在创建Plist文件后,可以使用Xcode的文本编辑器或第三方工具进行编辑。
3. Plist文件的使用
在iOS应用中,可以通过以下方式使用Plist文件:
(1)读取配置信息:使用NSUserDefaults类读取存储在Plist文件中的配置信息。
NSUserDefaults是一个单例类,用于存储和检索应用程序的偏好设置。
(2)更新偏好设置:通过NSUserDefaults类更新Plist文件中的偏好设置信息。
开发者可以在应用中修改这些设置,以便用户下次使用应用时能够恢复之前的设置。
五、HTTPS与Plist配置的结合应用
在iOS开发中,HTTPS和Plist配置可以结合应用以提高应用的安全性和用户体验。
例如,开发者可以使用HTTPS协议从服务器获取配置信息并存储在本地Plist文件中,以便在离线时仍然能够访问这些信息。
还可以将用户的偏好设置通过HTTPS协议上传到服务器进行同步。
这种结合应用可以提高iOS应用的安全性和可扩展性。
六、总结与展望
本文从入门到精通详细介绍了iOS中的https与plist配置。
首先介绍了HTTPS协议的基本概念及其在iOS开发中的应用;然后详细阐述了iOS中的HTTPS配置方法;接着对Plist配置文件进行了详细解析;最后探讨了HTTPS与Plist配置的结合应用。
随着移动互联网的不断发展,iOS开发中的网络通信和配置管理将变得越来越重要。
未来,我们可以进一步探索其他安全通信协议和配置文件格式在iOS开发中的应用,以提高应用的性能和安全性。
如何添加iOS应用的测试设备
1、授权设备:进入AppleDeveloper会员中心,点击图中的iOSProvisioningPortal,进入开发者授权设置系统:在设置界面中,可以选择点击页面下方的助手来运行向导:点击左侧导航的Device,进入授权设备的页面,点击右上方的AddDevice按钮可以添加一个设备:添加设备的时候可以指定设备的名字(随便写),以及设备的UDID。
每一个Apple的设备都有一个唯一的标识符,获得这个标识符的方法很简单,有两种方式:(1)将你的设备连接到电脑,然后在iTunes里找到你的设备信息(如下图),点击图中红色方框的位置,设备UDID就会显示出来。
右击UDID会提示拷贝,将拷贝的结果复制到框内即可;(2)打开xcode,window→organizer→devices,在里面可以看到identifier信息2、添加AppID:点击左侧导航的AppIDs按钮可以进入应用程序ID的配置页面,可以点击页面右方的NewAppID按钮添加一个新的应用。
这个ID对应的是即将开发和测试的应用程序。
如下图,在description里添加一个单一应用的名称(不支持特殊字符),然后在最下面的BundleSeedID里面填入一个含有domain格式的字符串(如)。
BundleSeedID是一个集合了开发商与应用程序的信息,格式为(com.[开发商].[应用]),这里可以指定为单一应用,也可以指定为全部应用。
如果是单一应用,建议刚才填写的description与BundleSeedID的最后一项相同(如test和),如果是全部应用,可以使用这样的BundleSeedID.3、添加证书:(1)首先在mac电脑上生成开发者证书:在Applications->Utilities里手动打开KeychainAccess。
按照下图操作最终点击“从证书颁发机构请求证书”正确填写自己的邮箱和姓名即可,选择“存储到磁盘”,点击继续。
最终会生成一个名为“”的文件。
这时候返回刚才的iOSProvisioningPortal网页界面,点击左侧的“Certificate”,点击页面右方的RequestCertificate申请一个证书,然后点击页面下方的按钮上传生成的certSigningRequest文件,这样就完成了证书的申请流程。
申请成功后,Certificate页面里就有了一条证书,刷新几次页面后证书的状态就变成Issued,点击download按钮可以下载一个cer文件。
4、使用开发者授权:(1)回到iOSProvisioningPortal网页界面,点击左侧的“provisioning”,点击右侧的NewProfile按钮创建一个新的授权文件:填写profileName;在Certificates中选择刚刚创建好的证书(一劳永逸的一步,之后只需勾选该证书即可,不必再手动添加);APPID选择刚刚建的那个;Devices选择刚刚添加的设备;Submit(绑定设备到应用程序);刷新页面,会看到刚刚建的那个后边有个Download,点击Download,下载了一个文件。
(2)打开xcode→window→organizer,将下载的文件拖到Provisioning中(此步骤绑定设备到应用程序,并生成证书)(3)项目中的plist文件,将BundleIdentifier这一项的内容改成BundleSeedID(格式:com.[开发商].[应用])即可将run按钮右边的设备选为对应的真机设备,接下来就编译运行看看吧!
苹果手机2.1版本的可以使用cmwap上网吗?!要怎么设置啊?!急急急。。。
首先要实现最基本的Wap功能,也就是QQ和UCweb好用。
1。
.通过cydia安装swirlymms 1.2.9 。
然后进入swirlymms ,点get demo,获取证书后,填写设置 Proxy:10.0.0.172:80 APN:CMWAP Username: Password: 2。
安装ucweb,具体就不说了。
3。
进入Iphone设置中的通用—网络—蜂窝数据网: APN cmwap 用户名 密码4。
重启机器,看一下填写的apn是否还在,测试UCWEB,使用一切正常。
然后测试彩信,收发也一切正常。
——————–现在,依然不能在无WIFI的环境中更新天气与股票,并且safari也不能打开网页———–第二步,我们来修改上网文件。
1。
复制到private/var/mobile文件夹内,权限不改动。
(用户选择root)2。
文件从private/var/preferences/systemconfiguration文件夹内备份出来3。
手动修改文件代码(添加红色部分) 之所以没用替换文件的方法,是因为发现经过swirlymms破解Wap后文件发生了变化,多了比如你机器的名称和apn为cmwap等字符。
所以源文件修改针对性比较强,也稳定。
<key>Interface</key><dict><key>DeviceName</key><string>ip1</string><key>Hardware</key><string></string><key>Type</key><string></string><key>UserDefinedName</key><string> (ip1)</string></dict><key>Proxies</key><dict><key>HTTPEnable</key><integer>1</integer><key>HTTPPort</key><integer>80</integer><key>HTTPProxy</key><string>10.0.0.172</string><key>HTTPProxyAuthenticated</key><integer>0</integer><key>HTTPProxyType</key><integer>1</integer><key>HTTPSEnable</key><integer>1</integer><key>HTTPSPort</key><integer>80</integer><key>HTTPSProxy</key><string>10.0.0.172</string><key>ProxyAutoConfigEnable</key><integer>0</integer></dict><key>UserDefinedName</key><string> (ip1)</string><key></key>4。
关闭91,到蜂窝数据里查看cmwap是否还在,如果在就不管他,退出来。
5。
先不要重启机器,拨打以下查询下话费。
6。
重启机器,拨打一下查一下话费,查看蜂窝数据里cmwap是否还在,还在应该就成功了。
你可以更新下天气和safari上网试一下。
要是都ok说明成功。
为什么ios的plist文件手动修改后不可用
创建文件。
方法:1、选中Xcode,File-New-File…;2、在工程目录处右键,New File…;3、选中Xcode,使用快捷方式cmd+n组合键;4、代码创建(往后说明步骤)。
效果如图。
可以选择iOS和OS X中任意一个“Resource”中的“Property List”创建并命名保存。
当前名称为。
往文件添加数据并显示在Xcode项目中点击,可以打开显示文件中的内容。
可以在空白处右键“Add Row”添加数据或者点中“root”行,点击“+”号即可添加。
一般数据类型(Type)可以选择Array、Dictionary、String等类型。
同时也可以给添加的数据赋值(Value)。
除了以Property List列表形式显示外,选中文件,右键“Open As”-“Source Code”可以以XML格式显示。
当前操作结果如图。
使用代码创建文件。
//获取本地沙盒路径NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);//获取完整路径NSString *documentsPath = [path objectAtIndex:0];NSString *plistPath = [documentsPath ];NSMutableDictionary *usersDic = [[NSMutableDictionary alloc ] init];//设置属性值[usersDic setObject:@chan forKey:@name];[usersDic setObject:@ forKey:@password];//写入文件[usersDic writeToFile:plistPath atomically:YES];添加修改数据操作添加或修改已有数据。
此文件不是已有的文件,而是存在沙盒里面的文件。
内容是不变的。
需要查看可以到模拟器沙盒查看。
//获取已有完整路径NSString *plistPath = [[NSBundle mainBundle] pathForResource:@usersList ofType:@plist];NSMutableDictionary *usersDic = [[NSMutableDictionary alloc]initWithContentsOfFile:plistPath];//设置属性值,没有的数据就新建,已有的数据就修改。
[[usersDic objectForKey:@users] setObject:@逗比 forKey:@name];[[usersDic objectForKey:@users] setObject:@dbdbdb forKey:@password];//写入文件[usersDic writeToFile:plistPath atomically:YES];如果是想用其他文件名称可以根据路径创建新plist文件NSString *filename=[plistPath ];//已有该名称文件就不新建,没有就新建。
如要多层次结构,则如图。
5代码下载地址:去点击“Download ZIP”下载。

