自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

转载 iOS 自动续期订阅 恢复购买

恢复购买内购有4种:消耗型项目,非消耗型,自动续期订阅,非续期订阅。 其中”非消耗型“和”自动续期订阅“需要提供恢复购买的功能,例如创建一个恢复按钮,不然审核很可能会被拒绝。//调起苹果内购恢复接口[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];“消耗型项目”和“非续期订阅”苹果不会提供恢复的接口,不要调用上述方法去恢复,否则有可能被拒。 “非续期订阅”也是“跨设备同步”的,所以原则上来说也需要提供恢复购买的功能,但需

2021-04-08 16:56:58 684

原创 iPhone机型判断大全 (2020年10月更新:iPhone 12、iPhone 12 Pro、iPhone 12 Pro Max)

设备型号官网地址:https://www.theiphonewiki.com/wiki/Models2018年9月新增设备iPhone 11 , iPhone 11 Pro, iPhone 11 Pro Max+ (NSString *)getDeviceType{ struct utsname systemInfo; uname(&systemInfo); ...

2019-09-29 16:48:01 4587

转载 Xcode缓存清理

摘抄自https://blog.csdn.net/hu434587115/article/details/54602449~/Library/Developer/Xcode/DerivedData/这个文件夹中保存的是Xcode的缓存文件,曾经在Xcode跑过的所有项目的索引、build的信息等都会保存在这里。删除后在下次打开项目编译的时候将会重新生成。由于这里包含了大量已经没用的项目的信息...

2019-05-10 15:11:24 977

原创 iOS审核2.3.1被拒的悲惨经历

2019年03月30日 上架公司的其中一个APP管理端突然被拒,被拒理由如下:Guideline 2.3.1 - PerformanceWe discovered that your app contains obfuscated code, selector mangling, or features meant to subvert the App Review process by...

2019-04-23 10:16:09 22968 3

原创 iOS xcode 检测项目中的无用的图片工具

项目大改版, 几乎所有的界面图片都需要重新更换. 那么对于之前一个或多个版本的旧的,无用的无效的图片资源,我们不可能一个一个的就找,然后复制图片名字搜索吧(注:这是一种笨方法). 那么接下来讲解的是我用的方法.二,方法1,这里有个检测工具LSUnusedResources (地址:https://github.com/tinymind/LSUnusedResources)在github上...

2019-04-22 17:17:44 1339

翻译 关于邓白氏码

一个公司可以申请一个邓白氏码(DUNS),一个邓白氏码(DUNS)只能申请一个公司开发者账号和五个企业开发者账号一个DUNS code对应一张营业执照,不可重复申请,另外这个码还有申请都是免费的。申请周期是一周一个DUNS code只能申请一个公司性质的开发者账号,可以申请五个企业性质的开发者账号 PS:现在企业不好申请,一个taobao都卖14万了...

2019-04-22 16:06:58 210 2

原创 iOS8.1.1 手机图片变形问题

先来看两张图吧1、2、出现这种情况的时候我吓得一尿,然后用自己的手机亲自测了一遍(iOS10.2.1),并没有发现此类问题,再拿同事手机测试(iOS11.2.1),也没有出现此类问题。自己测试是测不出来的。然后询问市场人员,根据询问市场人员得知关于客户手机的信息为:iPhone 6  iOS8.1.1,然后立马用模拟器跑了一遍发现果然有此类现象。然后上网搜索

2018-01-17 17:29:34 2282 5

转载 UITableView UITableViewStylePlain 和 UITableViewStyleGrouped的区别

一。如何选择grouped Or Plain1.grouped的sectionHeader,sectionFooter的背景色默认跟tableview的背景色一样。plain反之2.grouped的sectionHeader不会悬浮。plain反之。3.plain会出现多余的分割线,grouped不会。4.grouped某一行的上线边缘默认会有分割线。5.优先使用grouped

2017-07-25 17:50:32 593

原创 iOS10 权限崩溃问题

1,在项目中找到info.plist文件,右击有个 Open As,以Source Code 的形式打开2,分别复制 以下 Value 和Key,Key 一定不能错,Value 貌似可以随便填写相机权限描述:    NSCameraUsageDescription    cameraDesciption通信录:    NSContactsUsageDescripti

2017-03-24 13:19:53 294

转载 iOS集成linphone

1、首先准备工作:下载linphone官方SDK http://www.linphone.org/technical-corner/liblinphone/downloads我的Demo中使用的是3.12.1版本2、新建项目:(1):Build Setting->Other Linker Flags 增加-Objc(2):Build Phases->Link Binary Wi

2017-03-17 15:23:13 2364 1

转载 SDWebImage 加载图片原理

目前标注的类通过标注的类,看懂应该没问题了。SDWebImage是一个图片缓存的框架。相较于AFNetworking集成的UIImageView+AFNetworking.h,对于图片的缓存实际应用的是NSURLCache自带的cache机制。而NSURLCache每次都要把缓存的raw data 再转化为UIImage,就带来了数据处理和内存方面的更多操作。SDWebImage的缓存

2016-08-25 14:34:29 1815 1

转载 js调用OC代码

接着上节我们讲到的iOS调用js下来我们使用js调用iOSjs调用iOS分两种情况一,js里面直接调用方法二,js里面通过对象调用方法首先我们看第一种,直接调用方法。其中用到了iOS的block上代码-(void)webViewDidFinishLoad:(UIWebView *)webView { //网页加载完成调用此方法

2016-05-20 14:15:26 370

转载 oc调用js方法

从iOS7开始 苹果公布了JavaScriptCore.framework 它使得JS与OC的交互更加方便了。下面我们就简单了解一下这个框架首先我导入framework方法如下点击Linked Frameworks and Libraries 的添加后 选择 JavaScriptCore.framework选中JavaScriptCore

2016-05-19 10:58:02 1227

转载 Xcode因为证书问题经常报的那些错

因为证书问题 Xcode 经常报这样或那样的错,经过一年多的实践,现在看见 Xcode 报错已经心平气和了,经常报的错就那么多,整理一下。1、确认下证书是不是开发证书,如果是发布证书就会出现这样的提示。2、证书失效了,去开发者中心重新生成一个。3、包标识符不与描述文件包含的包标识符不一致,按照它的提示换一下就好了,最好不要点 Fix Is

2016-05-17 16:58:51 333 1

原创 UIDatePicker 高度的设置

最近在做项目的时候遇到了一个坑,项目中需要用到DatePicker时间选择器,xcode是7.3的,支持的ios系统是最新的ios9.3,自己的手机也是最新系统,在自测的时候DatePicker在我的View中展示的非常完美,可是我们的测试人员就拿着测试机来找我了...在这里说明一下测试的手机是ios8.3的系统,在测试手机中显示的DatePicker非常大,大到我自己都傻眼了(宝宝心里苦

2016-05-10 14:34:23 5065

原创 ios 让程序在后台长久运行的方法

在以前,当应用被按Home键退出后,应用仅有最多5秒钟的时间做一些保存或者清理资源的工作,但是应用可以调用UIApplication的beginBackgroundTaskWithExpirationHandler方法,让应用最多有10分钟的时间在后台长久运行,这个时间可以用来做清理本地缓存、发送统计数据等工作。让程序在后台长久运行的示例代码如下://APPDelegate.h文件@pr

2016-04-06 10:24:40 4361

原创 修改frame快捷方法,不必再繁琐的计算

平时计算控件frame时我们是这样计算的://首先设置frameview.frame = CGRectMake(0, 0, 320, 150);//如果想改变其中的宽或者高或者位置,则需要重新设置frame大小,这个时候需要重新写一遍以前设置的frameview.frame = CGRectMake(view.frame.origin.x, 100, view.frame.size.wi

2016-03-21 16:06:47 682

原创 iOS 解决键盘遮挡问题

//键盘遮挡问题-(void)textFieldDidBeginEditing:(UITextField *)textField{ CGRect frame = textField.superview.frame;//得到textField的父视图的frame int offset = frame.origin.y + 10 - (_ScrollView.frame.size.

2016-03-11 14:27:08 385

原创 iOS、mac开源项目及库汇总

好的插件,第三方库:http://www.googledaquan.com/archives/110

2016-03-02 15:36:26 306

转载 ios 文本转语音 播报 AVSpeechSynthesizer

原文:http://www.cnblogs.com/qingjoin/p/3160945.htmliOS7 的这个功能确实不错。我刚试了下,用官方提供的API ,简单的几句代码就能实现文本转语音!Xcode 5.0 工程建好后首先把AVFoundation.framework 加入到工程  AVSpeechSynthesizer *av = [[AVSpeechSynt

2016-03-02 11:03:02 739

原创 IOS 后台无限执行任务

找到如下一篇文章,写的很不错,好好参考了一下。http://hayageek.com/ios-long-running-background-task/首先需要配置Info-Plist文件,在里面新建一个Required background modes。这个是一个数组,在下面添加如下内容:App provides Voice over IP services(VOIP)App

2016-02-29 17:58:50 547

原创 iOS 获取手机型号(iPhone 8 、iPhone 8 Plus、iPhone X)

//获得设备型号+ (NSString*)getCurrentDeviceModel:(UIViewController*)controller{    intmib[2];    size_tlen;    char*machine;         mib[0] = CTL_HW;    mib[1] = HW_MACHINE;    s

2016-02-22 12:53:24 1060

原创 ios 原生二维码的扫描和生成

今天博主有一个二维码扫描和生成的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步.从iOS7开始官方集成了二维码的扫描和生成功能 此前被广泛使用的zbarsdk目前不支持64位处理器1.扫描二维码扫描二维码需要导入AVFoundation框架 利用摄像头识别二维码中的内容(模拟器不行)输入(摄像头) 由会话将摄像头采集到的二维码图像转换成字符串数据 输出(数

2016-02-19 17:18:51 684

原创 tableview取消CELL的多余行数

123 self.tableView.tableFooterView=[[UIView alloc]initWithFrame:CGRectZero];//取消多余行数        //取消cell横线       // self.tableView.separatorStyle=UITableViewCellSelectionStyleNone;

2016-02-19 17:16:32 273

转载 iOS开发中那些高效常用的宏

OS开发过程中使用一些常用的宏可以提高开发效率,提高代码的重用性;将这些宏放到一个头文件里然后再放到工程中的-Prefix.pch文件中(或者直接放到-Prefix.pch中)直接可以使用,灰常方便。本文整理自http://www.cocoachina.com/applenews/devnews/2013/0328/5907.html 。做了一些分类和注释,可以根据自己习惯再添加或者删除或

2016-02-19 17:14:17 261

原创 UIbutton 防止重复点击

可以写一个响应时间 在规定的响应时间内 只触发一次123456789//防止重复点击 [[self class] cancelPreviousPerformRequestsWithTarget:self selector:@selector(todoSomething:) object:btn];    [se

2016-02-19 17:11:49 349

转载 解决Xcode7.1上传成功但iTunesconnect一直不能构建版本的问题

将应用打包成ipa文件上传至苹果服务器时,我们一般用xcode上传即可,但有时候,明明用xcode上传成功却在developer账户中一直无法正常显示出来,所以我就要来讲讲第二种不常用的方法,但是很有用,上传成功后,通过审核也很快,可以大大节省时间,话不啰嗦,上方法:1.首先将文件打包成ipa文件   我们不直接上传至苹果服务器,而是先导出:2.在到

2016-02-19 17:07:49 1938

转载 iOS开发中邮箱,电话号码,身份证,密码,昵称正则表达式验证

//邮箱+ (BOOL) validateEmail:(NSString *)email{    NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";    NSPredicate *emailTest = [NSPredicate predicateWithForma

2015-11-02 10:00:02 328

转载 快速集成支付宝

本文介绍了iOS快速集成支付宝支付的方法,本文中介绍的方法是经过一次封装,因此配置完成之后调用仅需一行代码即可支付宝支付,非常的方便,希望大家喜欢。        我只是根据官方的文档,对支付宝的SDK做了进一步封装,其中密钥的生成很简单,需要看官方的文档,官方的文档我在工程附件目录里也有一份,如果需要马上集成,没工夫研究的话,可以大致看一下密钥的生成即可,其他的配置我会在下面进行讨论

2015-09-16 10:57:08 373

转载 iOS 自定义TabBarController

转自:http://blog.csdn.net/xn4545945/article/details/35994863一、自定义的思路iOS中的TabBarController确实已经很强大了,大部分主流iOS应用都会采用。但是往往也不能满足全部的需求,因此需要自定义TabBar,自定义需要对系统的TabBar工作方式有很好的理解,自定义需要勇气。自定义TabBar的原则:尽

2015-08-30 10:26:16 278

原创 iOS 面试题

1. 
浅复制和深复制的区别?
答案:浅层复制:只复制指向对象的指针,而不复制引用对象本身。
深层复制:复制引用对象本身。
意思就是说我有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源
还是只有一份,那如果我们对A_copy执行了修改操作,那么发现A引用的对象同样被修改,这其实违背了我们复制拷贝的一

2015-08-25 11:34:59 353

转载 iOS 常见面试题

通过网络搜寻和自己总结经历找了一些IOS面试经常被问道的问题:1.搞清楚touch事件的传递(事件的响应链)事件的响应(responder chain)只有继承了UIResponder的类才能响应touch事件,从上图的响应者链可以看出,优先是最上层的view响应事件,如果该view有视图控制器的话会是下一个响应者,否者就是该view的父视图,这样至上而下传递事

2015-08-25 11:28:41 912

转载 iOS 推送消息

转自丰俊文的博客 经常有同学问我们,iOS上推送究竟怎么做啊,为什么我的设备总收不到推送呢,这里跟大家集中讨论一下iOS上推送的实现细节。 APNS的推送机制与Android上我们自己实现的推送服务不一样,Apple对设备的控制非常严格,消息推送的流程必须要经过APNs: 这里 Provider 是指某个应用的Developer,当然如果开发者使用AVOS Clou

2015-08-25 11:02:57 293

原创 Objective-C中的浅拷贝和深拷贝

浅拷贝浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。如:12char* str = (char*)malloc(100);char* str2 = str;浅拷贝只是对对象的简单拷贝,让几个对象共用一片内存,当内存销毁的时候,指向这片内存的几个指针需要重新定义才可以使用,要不然会成为野指

2015-08-25 09:43:15 246

转载 iOS多线程编程:线程同步总结

1:原子操作 - OSAtomic系列函数iOS平台下的原子操作函数都以OSAtomic开头,使用时需要包含头文件。不同线程如果通过原子操作函数对同一变量进行操作,可以保证一个线程的操作不会影响到其他线程内对此变量的操作,因为这些操作都是原子式的。因为原子操作只能对内置类型进行操作,所以原子操作能够同步的线程只能位于同一个进程的地址空间内。2:锁 - NSLock系列对象iOS平台下的

2015-08-21 10:43:46 272

转载 TCP与UDP的区别

TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。UDP(User Datagram Protocol)        UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的那一刻,立刻按照原样发送到网络上的一种机制。        即使是出现网络拥堵的情况下

2015-08-20 15:13:01 365

转载 关于nil和 null和NSNull的区别及相关问题

关于nil和 null和NSNull的区别及相关问题1、nil和null从字面意思来理解比较简单,nil是一个对象,而NULL是一个值,我的理解为nil是将对象设置为空,而null是将基本类型设置为空的,个人感觉有点像属性当中,基本类型分配为assign NSString类型一般分配copy,而对象一般用retain。而且我们对于nil调用方法,不会产生crash或者抛出异常。看一

2015-08-20 14:35:19 299

原创 self和下划线的用法区别

在最新的xcode中,已经不需要我们自己去写 set,get 方法,系统已经自动帮我们生成set,get方法。同时我们发现在我们访问我们声明的变量时,会有self. 和 以"_"开头的访问方式,那么这两种方式到底有什么样的区别呢?我们来一起看一下:@property (retain, nonatomic) NSMutableArray *nameArrayself.nameArray

2015-08-20 14:25:55 442

转载 UICollectionView的基本使用

UICollectionView 和 UICollectionViewController 类是iOS6 新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableView 和 UITableViewController 类。使用UICollectionView 必须实现UICollectionViewDataSource,UICollectionViewDele

2015-08-16 10:03:28 292

转载 iOS 多线程总结

iOS多线程在iOS中每个进程启动后都会建立一个主线程(UI线程),这个线程是其他线程的父线程。由于在iOS中除了主线程,其他子线程是独立于Cocoa Touch的,所以只有主线程可以更新UI界面(新版iOS中,使用其他线程更新UI可能也能成功,但是不推荐)。iOS中多线程使用并不复杂,关键是如何控制好各个线程的执行顺序、处理好资源竞争问题。常用的多线程开发有三种方式:1.NSThread

2015-08-14 15:49:22 364

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除