在IOS开发过程中,为了保证数据的安全,我们通常要采取一些加密方法,常见的加密有Base64加密和MD5加密。Base64加密是可逆的,MD5加密目前来说一般是不可逆的。 我们在开发一款App过程中,对于发的请求,其中有个“sign”的字段,这个key对应的value是MD5加密的字段,旁边的安卓同事问php后台,说MD5加密是32位的还是16位的,由于以前未曾注意过,所以就搜索了下 ,现在稍微总结下: MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。 看了好多资料,包括维基百科和一些论坛,说MD5其实进过算法产生的是固定的128bit,即128个0和1的二进制位,而在实际应用开发中,通常是以16进制输出的,所以正好就是32位的16进制,说白了也就是32 实际上这个操作已经不是MD5加密算法所包括的,而应当是对MD5加密算法结果的二次处理。其它的64位和大小写什么的,都属于对MD5算法结果的二次处理。
该例子添加UITableView编辑功能 具体功能如下 功能很简单但很实用 @implementation AppDelegate @synthesize window = _window; @s
最近一段时间开发一个App,由于时间紧采用原生+H5混合开发,这里记录一下开发过程中遇到的问题。 5.H5页面的文件名和路径都配置在数据库中。 所以后来采用和js交互的方式进行跳转 2.iOS给JS提供了一个页面返回的方法,但是在测试过程中发现,这个方法会无限调用,导致页面一直pop; 调用的结果是因为iOS这边使用了一个通用的页面,比如两个页面一个页面是 ,而H5那边把这个handleBack方法写成全局的了,所以我返回ViewController1的时候也在调用handleBack,所以会无限的调用,H5那边之后改成局部就没有问题了。 3.首页有个逻辑是如果客户端定位成功就把定位传给H5进行交互。H5根据定位信息来显示不同的页面,所以和JS注册了一个方法。在网速很快的时候都没有发现问题。
基于Swift 3 、 Xcode 8 、 iOS 10 下的WKWebView的使用。 首先是WKWebView的基本用法: var wk:WKWebView! WKNavigationDelegate, WKUIDelegate, UINavigationControllerDelegate { } 关于WKUIDelegate、UINavigationDelegate大家可以去Apple开发中心查看文档 关于WKWebView中Html5图片上传,下一篇随笔我会说一下。
此文基于MUI、HBuilderX、H5+开发的APP本地打包,不适用uniapp。 同款Android的在这里: MUI、HBuilderX开发APP本地打包(Android篇) ? iOS的离线打包感觉比Android的更简单点,或许是因为我本身做iOS原生开发的缘故。 但当我看了官方提供的文档仍然摸索了一段时间,对于不是熟悉iOS开发的估计更加迷惑,所以按照我打包的操作步骤记录成文。以便下次回顾,还有以前写了Android离线打包,没有iOS的总感觉不完美。 5、 替换我们的项目代码 原来的代码: ? 4.替换项目源码.png 替换后我们的代码: ? 4.替换源码后.png 6、修改工程中appid ? 5.修改appid.png ? ios实际开发时其他所需的icon资源也是放这里,不过对于目前项目来说没啥用! ? 6.修改APP icon.png ?
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toOrientation duration:(NSTimeInterval)duration { if (toOrientation == UIInterfaceOrientationLandscapeLeft || toOrientation == UIInterfaceOrientat
UIScrollView在开发中是一个非常常用的控件,UIScrollView具有水平、垂直滚动和缩放效果。但是尽然没有响应单击事件这个事件。而这个事件在日常的交互中是非常需要的。 这里说一下IOS的事件委托(Event Delegate)相对C#的事件委托还是不一样的,似乎实现起来没有C#方便。这里就不多说了。 self.dragging) { //run at ios5 ,no effect; [self.nextResponder touchesEnded: touches 但是这样的写法经过测试在IOS5.0以前的版本可以。但IOS5以后的(包括5)这不能往下传递,这里我也不知道为什么。希望有知道的朋友说一下。
storyboard进行界面设计固然不错,特别是对于初学者经常会使用设计器进行界面设计,但是实际开发过程中我们很多情况下会直接使用代码进行界面布局,特别是对于复杂的界面布局更是如此。 小编有个自己学习交流群681503716(验证编号:大鲨)在iOS学习道路上的小伙伴可以加一下哦~ 直接在Xcode中创建“Empty Application”(注意在Xcode6中这个选项已经没有了, UIView就是指界面可见的控件元素,所有的控件最终都继承自UIView,UIView中还可以添加其他UIView(通过addSubView方法); 在一个iOS应用中必须有一个主窗口UIWindow( 下面我们看一下应用程序最终的布局,相信通过这张图大家对于iOS的布局会有一个大致了解: a2.png
关于动画 在移动开发中,为了提高用户体验,会用到一些动画来提高应用的视觉效果。让人有眼前一亮的感觉。同时有动画的过渡过程,会让应用看起来不是那么的生硬,更吸引用户。 所以它能实现的功能还是有限的,但是一般的开发中是够用的。UIView动画是封装自CoreAnimation的,下面会讲到。 ? self.aniView.frame = CGRectMake(200, 80, 100, 100); // 提交动画执行 [UIView commitAnimations]; Block用法 // iOS4 80, 100, 100); } completion:^(BOOL finished) { NSLog(@"动画执行完了"); }]; Spring动画(带弹簧效果) iOS7 以后引入的Spring动画,iOS8的时候Apple开放的Spring动画的API,开发者可以借助这个API很简单的实现带有弹簧的动画效果了。
即使有了bugly,也需要知道奔溃是如何捕捉的。 注意:自定义NSSetUncaughtExceptionHandler之后,会导致bugly失效,需要注意!!
会出现怎样的结果, 相信接下来的语句 每一个做过开发人员都应该见过 unrecognized selector sent to instance 0x7ffee1e90f00 。 利用 Objective-C 的 Runtime 特性,我们可以自己来对语言进行扩展,解决项目开发中的一些设计和技术问题。
导入AsynSocket库,导入CFNetwork系统库 1.新建single view工程 ViewController.h文件 #import <UIKit/UIKit.h> #import "AsyncSocket.h" @interface ViewController : UIViewController <AsyncSocketDelegate> { NSMutableArray *_socketArray; AsyncSocket *_sendSocke
解决密钥配送问题 由消息的接收者,生成一对公钥、私钥 将公钥发给消息的发送者 消息的发送者使用公钥加密消息 16.png RSA 目前使用最广泛的公钥密码算法是RSA RSA的名字,由它的3位开发者 签名机制 iOS签名机制的作用 保证安装到用户手机上的APP都是经过Apple官方允许的 不管是真机调试,还是发布APP,开发者都需要经过一系列复杂的步骤 生成CertificateSigningRequest.certSigningRequest Xcode已经自动帮开发者做了以上操作 思考 每一步的作用是什么? 设备的公钥 39.png 3、iOS签名机制 – 获得证书 40.png 4、ios_development.cer、ios_distribution.cer文件 利用Apple后台的私钥,对Mac设备的公钥进行签名后的证书文件 41.png 5、iOS签名机制 – 生成mobileprovision 42.png 43.png 6、iOS签名机制 – 安全检测 44.png 7、iOS签名机制 - AppStore 如果APP
在iOS 3.0以及更高版本中,你应该重载viewDidUnload函数来释放任何对view的引用或者它里面的内容(子view等等)。 这个网上的资料都说的很不全面,尤其是蓝色字部分。 对于iOS2.x,你还必须在调用super dealloc方法前将这些引用置为nil。
4.一个线程对应一个RunLoop,主线程的RunLoop默认已经启动 5.子线程的RunLoop得手动启动(调用run方法) 6.RunLoop只能选择一个Mode启动,如果当前Mode中没有任Source [NSRunLoop currentRunLoop].currentMode; 1.同一时间只可以运行其中的一种model 2.切换Model只能退出Runloop,重新进入 3.系统默认注册了5个 1UL << 1), // 2 kCFRunLoopBeforeSources = (1UL << 2), // 4 kCFRunLoopBeforeWaiting = (1UL << 5) Paste_Image.png Runloop:在开发中有什么作用? 1.NSTimer 2.ImageView的显示 3.PerformSelector 4.常驻线程 5.自动释放池 PerformSelector - (void)touchesBegan:(NSSet
, 在 iOS 开发中主要用于代码签名, 保障 iOS 生态的健康安全, 分为开发者证书和发布者证书 什么时候需要证书 只有在本机模拟器调试时无需代码签名, 当 App 需要在真机运行和发布时需要使用相应证书进行签名 (ios_development.cer) 打包和发布 描述文件(Provisioning Profiles) 可用于发布的开发者证书(ios_distribution.cer) 消息推送后端服务 由 apple 官方颁发, 用来证明开发者资格的证书文件, 分开发(ios_development.cer)和发布(ios_distribution.cer)两种 cer 证书跟开发机(私钥)绑定只能在拥有私钥的机器上使用 xcode 登录开发者帐号后可以连接开发者中心获取 附录1: 开发准备相关的网址 开发者中心 https://developer.apple.com/devcenter/ios/index.action 需要谋求一种方式方便应用能安装进更多的设备中 实现条件 进行内测发布主要的关键点是: 是如何将应用打包为 .ipa xcode6 以后, 个人/公司帐号无法对应用打包为 .ipa, 要么用 xcode5
iOS开发概述 •什么是IOS •什么是IOS开发 •为什么要选择IOS开发 •学习IOS开发的准备 1.什么是iOS •iOS是一款由苹果公司开发的操作系统(OS是Operating System的简称 •iOS开发就是开发运行在搭载iOS系统上的应用或者游戏软件,也就是可以开发一些运行在iPhone上的软件,比如手机QQ、微博或者游戏。 但由于开发门槛教高等因素,开发者并不多 •从事iOS开发的人员,可以称之为“iOS软件攻城狮”或“iOS程序猿” •iOS开发可以归类到“移动开发”(手机开发)领域 4.为什么要选择移动开发 •手机将是人类最离不开的设备之一 10亿台 5.为什么要选择iOS(跟android的比较) ? 在iphone,ipad,itouch上开发软件 3.IOS平台下的开发和安卓下的开发各有什么优缺点? 4.IOS下开发所需要的条件。
iOS APP开发的发展前景如何?进入新的一年,不仅竞争越来越激烈,而且技术环境也在发生变化。IOS APP的发展现状主要是受市场影响,一些客观因素影响了整体运营。 IOS APP开发的现状在于通信的变化,系统必须跟上发展。从当前的用户反馈来看,仍有许多方面需要改进,例如产品的易用性和产品的灵活性。封闭系统具有局限性,但是具有很高的安全性。 5G技术要求很高的系统要求: 从通信的角度来看,Apple的手机近年来显然没有赶上Android。 新产品支持5G,但是对于APP,在开发过程中需要考虑很多事情,包括如何将5G技术集成到产品中,以及如何使产品在使用过程中更稳定是开发团队必须考虑的所有事情,因此技术要求很高。 就现在的行情来说,大多数的人是不是认为iOS已经人满为患了呢?移动开发目前趋向于饱和,但优秀的人才永远是少数,如果要入行的话,找一个好的团队然后疯狂的学习最重要,初级的开发越来越泛滥了。
HTML5页面的图片上传功能在iOS端的实现。 首先,页面上用的是plupload组件,在wkwebview上存在两个坑需要修复才能正常使用。 最后,开发环境:swift 3 iOS 10 Xcode 8
该调试工具非常强大,结合storyboard一起使用可以很好的支撑ios开发的页面布局调整/性能优化等需求,具体的功能这里不一一展开,请开发人员在使用中进行总结和摸索。 __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_2_0)它表示从 mac os x10.5 和ios 2.0 才开始使用的,两种平台都支持。 __ OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA) 它表示 只支持mac os x 不支持ios平台,最后的NA 表示not applicable 开发中如何区分IOS版本 // 当前系统支持的最小版本 __IPHONE_OS_VERSION_MIN_REQUIRED // 当前系统支持的最大版本 __IPHONE_OS_VERSION_MAX_ALLOWED 灰神内存优化链接地址点此 7 参考链接 iOS SDK:那些关于iOS调试的技巧 http://dev.yesky.com/62/34881062.shtml iOS自定义NSLog日志 http