![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ios开发
文章平均质量分 89
程序小痴
这个作者很懒,什么都没留下…
展开
-
iOS13适配深色模式(Dark Mode)
原文博客地址:iOS13适配深色模式(Dark Mode) 好像大概也许是一年前,Mac OS系统发布了深色模式外观, 看着挺刺激, 时至今日用着也还挺爽的 终于, 随着iPhone11等新手机的发售,iOS 13系统也正式发布了, 伴随着手机版的深色模式也出现在了大众视野 我们这些iOS程序猿也有事情做了, 原有项目适配iOS13系统, 适配Dark Mode深色模式 虽然现在并没...转载 2019-10-31 10:02:20 · 805 阅读 · 0 评论 -
ReactiveCocoa入门教程:第一部分
本文翻译自RayWenderlich,原文:ReactiveCocoa Tutorial--The Definitive Introduction: Part 1/2作为一个iOS开发者,你写的每一行代码几乎都是在相应某个事件,例如按钮的点击,收到网络消息,属性的变化(通过KVO)或者用户位置的变化(通过CoreLocation)。但是这些事件都用不同的方式来处理,比如action转载 2017-08-21 13:27:00 · 347 阅读 · 0 评论 -
iOS中多语言本地化流程的优化
本文从提升效率和减少错误两方面对传统的多语言本地化方式进行了优化。传统的方法提升点效率减少些错误自动化万岁传统的方法在 Localizable.strings 中写入多种语言的版本,然后使用 NSLocalizedString 进行本地化:123456转载 2017-08-10 10:33:45 · 469 阅读 · 0 评论 -
iOS 如何获取设备的各种信息
一、目录结构:获取屏幕宽度与高度获取设备版本号获取iPhone名称获取app版本号获取电池电量获取当前系统名称获取当前系统版本号获取通用的唯一识别码UUID获取当前设备IP获取总内存大小获取当前可用内存获取精准电池电量获取电池当前的状态(共转载 2017-08-08 15:53:36 · 504 阅读 · 0 评论 -
ios开发之内存泄漏和性能优化
什么是内存泄漏?本应释放的内存没有释放,导致可用空间减少的现象。(摘自百度知道,看你敢不敢信)举个例子:你dismiss了一个视图控制器,但是最终却没有执行这个视图控制器的dealloc方法。目前遇到的导致内存泄漏比较严重的有这几个地方:一.delegate不知为何之前那个开发者全部用的retain修饰符,导致很多应该释放的视图控制器都没释放。这个修改很简单:将retain改成原创 2017-07-18 15:27:26 · 3001 阅读 · 0 评论 -
iOS多种线程锁的简介
线程安全是怎么产生的常见比如线程内操作了一个线程外的非线程安全变量,这个时候一定要考虑线程安全和同步。- (void)getIamgeName:(NSMutableArray *)imageNames{//假如每个进来的都是一个线程 /*1.imageNames是线程外的变量,这个时候就需要考虑线程安全, 因为,假如我们当前imageNames的个数是1,线程A和B同时进来原创 2017-07-17 16:59:16 · 436 阅读 · 0 评论 -
iOS常见的几种加密方法
普通加密方法是讲密码进行加密后保存到用户偏好设置中钥匙串是以明文形式保存,但是不知道存放的具体位置一. base64加密base64 编码是现代密码学的基础基本原理:原本是 8个bit 一组表示数据,改为 6个bit一组表示数据,不足的部分补零,每 两个0 用 一个 = 表示用base64 编码之后,数据长度会变大,增加了大约 1/3 左右.(8-6)/6可进行反向解密Xc转载 2017-07-17 10:46:34 · 359 阅读 · 0 评论 -
iOS开发永久数据保存方式
IOS开发的永久数据保存方式总共有6种。分别是:1.NSUserDefaults2.归档和解档(序列化)3.plist文件保存4.数据库(sqlite)5.CoreData6.KeyChain一:NSUserDefaults: 保存的基本数据类型、NSString、NSArray、NSDictionary原创 2017-07-07 14:07:09 · 464 阅读 · 0 评论 -
iOS Xcode pch文件的路径配置
1、Build Setting 设置中(搜索 Prefix Header)找到Precomplie Prefix Header 这项设置设置成YES。2、把Precomplie Prefix Header 下面一项Prefix Header 双击打开,把pch文件拖到打开的对话框中,回车。3、把 $(SRCROOT) 拷贝代替 Prefix Header 中的路径原创 2017-07-07 11:55:52 · 195 阅读 · 0 评论 -
iOS开发经验总结(一)
1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabled = YES;2、隐藏某行cell- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{// 如果是你需要隐藏的那一行,返回高转载 2017-06-27 08:56:06 · 2779 阅读 · 0 评论 -
ReactiveCocoa入门教程:第三部分
什么是RAC?几乎每一篇介绍RAC的文章开头都是这么一个问题。我这篇文章是写给新手(包括我自己)看的,所以这个问题更是无法忽视。简单的说,RAC就是一个第三方库,他可以大大简化你的代码过程。官方的说,ReactiveCocoa(其简称为RAC)是由GitHub开源的一个应用于iOS和OS X开发的新框架。RAC具有函数式编程和响应式编程的特性。为什么我们要学转载 2017-08-21 13:32:56 · 419 阅读 · 0 评论 -
ReactiveCocoa入门教程:第二部分
翻译自:http://www.raywenderlich.com/62796/reactivecocoa-tutorial-pt2ReactiveCocoa 是一个框架,它允许你在你的ios程序中使用函数响应式(FRP)技术。加上第一部分的讲解,你将会学会如何使用信号量(对事件发出数据流)如何替代标准的动作和事件处理逻辑。你也会学到如何转换、分离和组合这些信号量。在这里,也就是转载 2017-08-21 13:31:33 · 292 阅读 · 0 评论 -
iOS右滑pop功能的实现
侧滑返回的效果效果图从iOS7开始,系统为UINavigationController添加 interactivePopGestureRecognizer属性,这个属性就是系统提供的右滑返回动画,我们可以通过滑动左边边缘实现pop效果。我们可以通过,如上图所示。self.navigationController.interactivePopGestureRecognizer转载 2017-08-07 11:46:55 · 588 阅读 · 0 评论 -
iOS 布局受导航栏影响
出现这类问题一般是translucent属性或者升级iOS11之后突然出现的。translucent属性的影响详情可以参考http://www.jianshu.com/p/eba6bda5ff37。当你去做“透明”导航栏效果的时候,一般来说translucent是YES的,这个时候坐标系统是从整个屏幕的最顶部开始的(被导航栏遮挡,但此时导航栏是透明的也就没有任何影响),但是当你push到下一层...转载 2019-06-14 10:29:40 · 640 阅读 · 0 评论 -
IOS 专题集合
第一期:【一周精品源码】各种动画的集合demo[img]file:///C:\Users\zhangjy\AppData\Local\Temp\8LDO48C$8@[GWU0353$FOVS.png[/img]http://www.code4app.com/forum.php?mod=viewthread&tid=8006&extra=page%3D1%26filter%3Ds...原创 2019-06-14 10:28:19 · 617 阅读 · 0 评论 -
关于oc的#pragma mark - 和swift的注释的详解和区别
1、oc中使用的注释一般//单行注释、/*多行注释*/ #pragma marks Comments containing: MARK: TODO: FIXME: !!!: ???:除了使用 #pragma mark -添加分割线之外, 其余的你有用...转载 2019-06-14 10:27:05 · 516 阅读 · 0 评论 -
iOS数据存储方法介绍
项目准备运用的Core Data进行本地数据存储,本来打算只写一下Core Data的,不过既然说到了数据存储,干脆来个数据存储基础大总结!本文将对以下几个模块进行叙述。沙盒PlistPreference偏好设置NSKeyedArchiver归档 / NSKeyedUnarchiver解档SQLite3的使用FMDBCore Data下图是Core Data堆栈的图示,在这里是转载 2017-10-13 10:34:26 · 299 阅读 · 0 评论 -
iOS 11适配之跳转App Store评论
iOS 11已经出来一阵子了,市面上也出了不少文章来说大家遇到的坑,我也来凑凑热闹。在iOS 11之前,为了让用户直接跳到App Store的评论页面,你的代码大概是这样写的:123456789-(void)goToAppStore { NSS原创 2017-10-13 10:01:28 · 2311 阅读 · 0 评论 -
iOS11新特性开发初探之 - Core NFC
北京时间2017.6.6日凌晨1点,新一届的WWDC召开,苹果在大会上发布了iOS11的beta版,虽然正式版还有一段时间才会推送,不过其中有项功能引起我的注意,即苹果官方开放了NFC的部分开发接口。虽然从iphone6开始苹果手机就已经有NFC硬件了,但是开发接口一直没有开放,苹果官方的Apple Pay应用则使用了NFC功能。现在看来苹果在iOS11将NFC接口对开发者开放了,虽然从文档开来目转载 2017-09-21 16:42:54 · 2858 阅读 · 0 评论 -
iOS 直播 —— 推流
推流,就是将采集到的音频,视频数据通过流媒体协议发送到流媒体服务器。推流前的工作:采集,处理,编码压缩推流中做的工作: 封装,上传推流前的工作推流——采集到的音频,视频数据通过流媒体协议发送到流媒体服务器话说回来, 其实有一个库 LFLiveKit 已经实现了 后台录制、美颜功能、支持h264、AAC硬编码,动态改变速率,RTMP传输等,我们真正开发的时转载 2017-08-30 11:12:34 · 4490 阅读 · 0 评论 -
iOS开发之pdf文档的加载与浏览的4种方式
前言在我们的开发中,有些像电子书类型的app的开发会涉及到pdf文档的加载与展示。由于笔者项目中正好涉及到这块,于是将pdf常用的几种加载方式做个总结。以供后面可能用到的同学做个参考。正文通常我们用到的pdf文档的加载方式有4种:UIWebView加载本地或者网络pdf文档QLPreviewController加载pdf文档用CGContext画pdf文档,并结合UIPageV转载 2017-09-05 09:40:13 · 516 阅读 · 0 评论 -
iOS开发经验总结(三)
1、设置UILabel行间距12345NSMutableAttributedString* attrString = [[NSMutableAttributedString alloc] initWithString:label.text]; NSMutableParagraphStyle *sty转载 2017-07-13 09:09:30 · 327 阅读 · 0 评论 -
iOS开发经验总结(二)
2、当使用-performSelector:withObject:withObject:afterDelay:方法时,需要传入多参数问题12345678910111213141516171819// 方法转载 2017-07-13 09:03:47 · 369 阅读 · 0 评论 -
iOS中GCD的使用方法
本篇博客共分以下几个模块来介绍GCD的相关内容:多线程相关概念多线程编程技术的优缺点比较?GCD中的三种队列类型The main queue(主线程串行队列)Global queue(全局并发队列)Custom queue (自定义队列)Group queue (队列组)GCD中一些系统提供的常用dispatch方法多线程相关概念进程与线程进程概念: 进程是程序在计算机转载 2016-11-15 12:47:38 · 225 阅读 · 0 评论 -
iOS 10中如何搭建一个语音转文字框架
在2016WWDC大会上,Apple公司介绍了一个很好的语音识别的API,那就是Speech framework。事实上,这个Speech Kit就是Siri用来做语音识别的框架。如今已经有一些可用的语音识别框架,但是它们要么太贵要么不好。在今天的教程里面,我会教你怎样创建一个使用Speech Kit来进行语音转文字的类似Siri的app。设计App UI前提:你需要Xcode 8转载 2016-10-25 11:49:43 · 1031 阅读 · 0 评论 -
iOS开发- "duplicate symbol for architecture i386" 解决办法
今天整合项目的时候, 遇到了这样一个问题。duplicate symbol _flag in:/Users/apple/Library/Developer/Xcode/DerivedData/bluetoothPhone-fspknidhnizzjygmuqngfcklvnic/Build/Intermediates/bluetoothPhone.build/Debug-iphones原创 2016-10-24 16:53:41 · 182 阅读 · 0 评论 -
iOS中单个控制器横屏切换的研究
在项目中遇到了一个问题,app中有两个控制器要求可以切换横屏,研究了半天,终于找到了解决办法.在AppDelegate中写12345678910111213141516171819202122转载 2016-10-24 16:52:25 · 1200 阅读 · 0 评论 -
新版xcode8更新的内容
Xcode 8包括所有你需要的东西,去创建令人惊叹的iPhone、iPad、Mac、Apple Watch和Apple TV 应用程序,这从根本上是更快的IDE版本,您可以使用新的编辑器扩展完全定制化你的编码经验。新的运行时问题提醒你隐藏的bug指出内存泄漏,和一个新的内存调试器使你更深入到对象中。Swfit 3包括更自然的和一致的API命名,你可以iPad中尝试新的Swift Playgroun原创 2016-10-24 16:50:51 · 1241 阅读 · 0 评论 -
xcode8 iOS10上关于NSPhotoLibraryUsageDescription NSCameraUsageDescription 等问题
最近升级了Xcode8.0,真是很多坑啊,填完一个来另外一个,今天又遇到了一个,用Xcode8.0上传项目时被驳回说是info.plist里面没有设置NSPhotoLibraryUsageDescription、NSCameraUsageDescription、NSContactsUsageDescription、NSMicrophoneUsageDescription等字段,之前这些都是预设的不转载 2016-10-24 16:49:04 · 451 阅读 · 0 评论 -
Xcode8:"subsystem: com.apple.UIKit, category: HIDEventFiltered, enable_level: 0" 的警告
运行xcode8遇到这个警告:subsystem: com.apple.UIKit, category: HIDEventFiltered, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy转载 2016-10-24 16:47:58 · 883 阅读 · 0 评论 -
tableview 编辑状态下,UITableViewCellEditingStyleDelete | UITableViewCellEditingStyleInsert 多选的时候,替换圆圈图片
打开编辑模式,使得tableview处于选择状态[html] view plain copy[_tableView setEditing:YES animated:NO] [html] view plain copy- (UITableViewCellEditing转载 2016-10-24 16:46:22 · 1092 阅读 · 0 评论 -
iOS10:CallKit的简单应用
CallKit 这个开发框架,能够让语音或视讯电话的开发者将 UI 界面整合在 iPhone 原生的电话 App 中.将允许开发者将通讯 App 的功能内建在电话 App 的“常用联络资讯”,以及“通话记录”,方便用户透过原生电话 App,就能直接取用这些第三方功能;允许用户在通知中心就能直接浏览并回覆来电,来电的画面也将整合在 iOS 原生的 UI 里,总体来说,等于让 iOS 原本单纯用来打电转载 2016-10-24 16:45:14 · 2214 阅读 · 0 评论 -
iOS DLNA Cyberlink,PlatinumKit库完成DLNA功能
关于DLNA开发,目前有两个框架。一个Cyberlink,一个platinumkit。Cyberlink的好处就是提供了一套OC的api供你调用,很简单方便。但是此框架有很多问题,且功能不全。platinumkit框架底层为c++,若要用此套框架,就得进行oc和c++的混编,之前我没做过oc和c++的混编,所以去看platinumkit的源码时,觉得头疼无比,浪费了很多时间,但是使用cyberli转载 2016-11-28 16:50:05 · 1204 阅读 · 1 评论 -
IOS 图片图像的处理
1、黑白化 if (红色>120 || 绿色>120 ||蓝>120 ){ 变成黑色}else{ 变成白色}[objc] view plain copy - (UIImage *)whiteBlackImage{ CGImageRef imIma转载 2016-12-29 10:48:52 · 292 阅读 · 0 评论 -
IOS10 相关权限设置总结
获取相机权限:NSCameraUsageDescription App需要您的同意,才能访问相机 获取相册权限:NSPhotoLibraryUsageDescription App需要您的同意,才能访问相册 获取日历权限: NSCalendarsUsageDescription App需要您的同意,原创 2017-07-12 16:02:32 · 679 阅读 · 0 评论 -
私有API-iOS10方法跳转到设置界面失效的解决方法
问题在iOS10之前,跳转到系统设置界面的某个指定界面的方式如下://打开定位服务界面NSURL*url=[NSURL URLWithString:@"prefs:root=Privacy&path=LOCATION"];if ([[UIApplication sharedApplication] canOpenURL:url]) { [[UIApplication sha原创 2017-06-19 11:02:03 · 1777 阅读 · 0 评论 -
ReactiveCocoa的简单用法
今天的主角是Reactive Cocoa,聊聊Reactive Cocoa的常见使用:KVO、Target、Delegate、Notification。Reactive Cocoa 是一个重量级框架,非常的牛,为什么说Reactive Cocoa非常的牛?我们所熟知的iOS 开发中的事件包括:TargetDelegateKVO通知时钟网络异步回调 ReactiveC原创 2017-05-09 09:41:04 · 438 阅读 · 0 评论 -
iOS开发探索-高斯模糊&毛玻璃效果
iOS开发中有的时候需要将图片设置模糊,来实现特定的效果获取更好的用户体验, iOS7之后半透明模糊效果得到大范围使用的比较大,现在也可以看到很多应用局部用到了图片模糊效果,可以通过高斯模糊和毛玻璃效果达到图片模糊效果。左边玻璃右边模糊高斯模糊效果1. CoreImage: iOS5.0之后就出现了Core Image的API,Core Image的AP转载 2017-04-28 14:40:59 · 597 阅读 · 0 评论 -
iOS 下的文件操作
//// main.m// FoundationFramework//// Created by zhangchao on 16-11-30.// Copyright (c) 2016年 zhnag. All rights reserved.//#import /*目录操作*/void test1(){ //文件管理器是专门用于文件管理的类 NSFil原创 2016-11-30 14:15:40 · 208 阅读 · 0 评论 -
ios 归档
归档,在其他语言中又叫“序列化”,就是将对象保存到硬盘;解档,在其他语言又叫“反序列化”就是将硬盘文件还原成对象。其实归档就是数据存储的过程,在IOS中数据的存储有五种方式:xml属性列表(plist归档)NSUserDefaults(偏好设置)NSKeyedArchiver归档(加密形式)SQLite3(嵌入式数据库)Core Data(面向对象方式的原创 2016-11-30 14:16:47 · 185 阅读 · 0 评论