iOS基础
heqiang2015
这个作者很懒,什么都没留下…
展开
-
iOS 友盟统计界面统计
友盟统计界面统计,需要在对应ViewController中的viewWillAppear和viewWillDisappear中加入一行代码就OK具体如下:1、在自己封装BaseViewController(父类)中加入如下方法-(void)beginLogPageView{ [MobClick beginLogPageView:NSStringFromClass([sel...原创 2019-01-24 10:00:43 · 1533 阅读 · 1 评论 -
AFNetworking的注意点
几个注意点:**1、设置超时时间:**这个时间要根据自己公司服务器的相应时间来时,一般设置为10s左右,,一般一个接口的请求时间不超过0.2s。2、设置缓存策略:(常用的是默认策略和离线模式):默认策略,如果NSCachedURLResponse对于请求不存在,则从源端获取,如果对于请求存在他会建立一个连接源端的链接,查看内容是否变化,没有变化则从缓存取,否则将从源端获取。离线模式:是针对没有...原创 2019-01-03 14:58:21 · 486 阅读 · 0 评论 -
iOS 个人开发者账号转公司开发者账号
苹果开发者账号常见的分类为个人、公司和企业三种,其功能权益也有所不同。在费用上,个人和公司账号每年 99 美元,而企业账号每年要 299 美元。在协作人数上,个人账号就有所限制,限于 1 人(开发者自己),公司和企业则同时支持多人使用,可以创建团队、添加团队成员至开发者账号。因此当个人开发者账号满足不了需求时,可以通过“个人开发者账号转公司开发者账号”来实现。如何“个人开发者账号转公司开发者...原创 2019-01-17 15:55:19 · 14730 阅读 · 1 评论 -
iOS 防止抓包(SSL Pinning)
1、判断是否有网络代理(不推荐)当进行网络请求的时候,客户端判断当前是否设置了代理,如果设置了代理,不允许进行访问,附带判断是否设置代理的代码:+ (BOOL)getProxyStatus { NSDictionary *proxySettings = NSMakeCollectable([(NSDictionary *)CFNetworkCopySystemProxySettings...原创 2018-12-05 16:06:11 · 7507 阅读 · 1 评论 -
iOS 保持APP在后台长时间运行
官方网站:https://developer.apple.com/documentation/uikit/core_app/managing_your_app_s_life_cycle/preparing_your_app_to_run_in_the_background?language=objc一、iOS 应用程序5个状态1、停止运行-应用程序已经终止,或者还未启动。2、不活动-应用程...原创 2018-12-05 15:10:34 · 18303 阅读 · 0 评论 -
数据库连接池库Libzdb
Libzdb 实现了一个小型、快速和易用的线程安全的连接池数据库API,可连接多种数据库,零配置,通过URL指定连接信息。Libzdb官网:http://www.tildeslash.com/libzdb/1 简介一个非常小,简单的数据库连接池库。1.1 特点a、 线程安全。b、连接不同的数据库系统。c、 零运行时配置,连接使用URL。d、目前支持的数据库MySQL, Post...原创 2018-12-05 11:30:22 · 382 阅读 · 0 评论 -
iOS提交审核注意点
(1)奔溃的程序或者存在重大BUG:产品提审前一定要经过反复的测试,如果存在APP频繁奔溃或者闪退,要通过的概率基本为零,在苹果丛林法则中,用户体验至上。(2)诱导用户评论:假如APP中出现“给个好评”、“五星好评”、“好评奖励”等诱导性评论,基本是审核NG的。(3)权限功能:需要增加提示并告知用户干什么用,并允许用户拒绝。(4)UI和描述:UI中切勿出现与苹果相似的logo,描述中切记出现...原创 2018-11-27 23:07:07 · 579 阅读 · 0 评论 -
iOS 内存泄漏的几种原因
1、对象循环引用@class ,Strong,weak2、block循环引用__weak typeof(self) weakself = self;3、NSNotification的观察者忘记移除[[NSNotificationCenter defaultCenter] removeObserver:self];4、delegate循环引用问题@property (nonatomic...原创 2018-11-27 22:43:08 · 4153 阅读 · 0 评论 -
OC 浮点数取整及其特殊符显示
1、直接转化float temp = 1.9;int num;num = (int)temp;输出结果是1。(int)是强制类型转化,丢弃浮点数的小数部分。2、floor函数, 向下取整float temp = 1.9;int num;num = floor(temp);结果是1。floor()方法是向下取整;3、ceil函数,向上取整float temp = 1.1;in...原创 2018-11-23 13:44:33 · 2046 阅读 · 0 评论 -
Xcode xib所有控件只能看见蓝色边框
Xcode xib所有控件只能看见蓝色边框取消对Editor——》Canvas——》Show Bounds Rectangels的选择就ok了原创 2018-11-23 13:32:10 · 2811 阅读 · 0 评论 -
iOS — 图片304问题
HTTP 304: Not Modified标准解释是:Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。解决方法:1、与后台协商。图片名有后台处理(随机数+时间戳),便于运营添加图片时,由于不小心操作图片名相同,引发304问题;2、万不得已用...原创 2018-11-20 08:47:55 · 966 阅读 · 0 评论 -
SDWebImageOptions常量说明
在 SDWebImageManager.h内typedef NS_OPTIONS(NSUInteger, SDWebImageOptions ) { SDWebImageRetryFailed = 1 < < 0, SDWebImageLowPriority = 1 < < 1, SDWebImageCacheMemoryOnly = 1 <...原创 2018-11-19 15:22:53 · 1579 阅读 · 0 评论 -
iOS11 打开相册上移问题解决方法
原因是app设置了:if (@available(iOS 11, *)) { UIScrollView.appearance.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; }解决方案 :在弹出系统相册前添加 if (@available(iOS 11, *)) { UIScr...原创 2018-11-19 14:54:39 · 1128 阅读 · 0 评论 -
iOS 富文本 隐私协议
利用富文本,制作可点击的隐私协议#import "ViewController.h"#define font 17@interface ViewController ()<UITextViewDelegate>@property (weak, nonatomic) IBOutlet UITextView *textview;@property (assign, nonatom...原创 2019-01-14 10:01:36 · 858 阅读 · 0 评论 -
iOS获取App信息、设备信息
第一部分:App的信息获取App的版本号、App的build版本号、包名、App显示名称等等/*获取当前App的版本号信息*/+ (NSString *)getAppVersion{ NSBundle *currentBundle = [NSBundle mainBundle]; NSDictionary *infoDictionary = [currentBundle i...原创 2019-01-24 16:22:51 · 2091 阅读 · 0 评论 -
iOS 判断 iPhoneXS Max、iPhoneXS、iPhoneXR、iPhoneX
iPhoneX 的分辨率:2436 * 1125 || pt: 812 * 375iPhoneXr的分辨率:1792 * 828 || pt: 896 * 414iPhoneXs 的分辨率: 2436 * 1125 || pt: 812 * 375iPhoneXs Max 的分辨率:2688 * 1242 || pt: 896 * 414i...原创 2019-01-24 16:46:00 · 1940 阅读 · 1 评论 -
滴滴开源工具 -- DoraemonKit
https://github.com/didi/DoraemonKit每一个稍微有点规模的 App,总会自带一些线下的测试功能代码,比如环境切换功能、帧率查看功能等等,这些功能的切换入口往往放在各式各样的入口中,比如一些特殊的手势,双击 statusBar,双击某一个功能区块,或者新建一个 keyWindow 始终至于 App 最上方等等,而且每一个 App 里面的线下附带功能模块很多是相似的,...原创 2019-02-14 10:38:47 · 7277 阅读 · 1 评论 -
iOS 微信支付集成及其注意点
1、集成的流程,请参考官方流程https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5注意点:1、由于iOS9 开始要设置“白名单”,则LSApplicationQueriesSchemes设置好“wechat”,“weixin”;2、支付model PayReq 的timeStamp(时间戳)必须为10位且为UInt32...原创 2019-01-28 11:09:34 · 604 阅读 · 0 评论 -
iOS 支付宝支付集成及其注意点
1、集成的流程,请参考官方流程https://docs.open.alipay.com/204/105295/注意点:1、如果项目已经集成“友盟统计SDK”,使用手动集成的“AlipaySDK_No_UTDID”;2、由于iOS9 开始要设置“白名单”,则LSApplicationQueriesSchemes设置好“alipay”;扩展:后台 ,订单的金额一定单位“分”(0.01),...原创 2019-01-28 10:52:00 · 676 阅读 · 0 评论 -
iOS 指纹、Face ID验证 --- LocalAuthentication
在iPhone 5s(iOS8)加入Touch ID后,指纹识别的功能在App中逐渐受到青睐,特别是对于本地安全较高的应用(如带支付的App)指纹识别是必备的功能,它既能解决在验证过程中输入密码的繁琐过程,同时指纹识的安全等级更高。那么,要想在自己开发的应用中使用指纹识别,就必须要LocalAuthentication.framework提供的API,下面将详细地介绍如何使用这个框架来实现指纹识别...原创 2019-01-16 15:15:51 · 4267 阅读 · 0 评论 -
iOS 导航栏pop返回时出现黑块问题
问题描述:一个隐藏导航栏的A页面push到另一个有导航栏的B页面,然后从B页面pop回A页面导航栏就会出现一个黑块原因是:A界面导航栏被影藏,B页面的导航栏存在。过渡的时候没有动画1、为window设置一个背景颜色(不建议使用)- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(N...原创 2019-01-25 22:18:46 · 1506 阅读 · 0 评论 -
App Store审核被拒问题,及其解决方案(2.1、2.5.13、3.2.1、4.1、4.2.3、5.1.1、5.1.2、5.2.1)
App Store审核被拒问题,及其解决方案1、Guideline 2.1 - Information Needed2、Guideline 2.5.13 - Performance - Software Requirements3、Guideline 3.2.1 - Business - Other Business Model Issues - Acceptable4、Guideline...原创 2019-01-21 10:30:19 · 9535 阅读 · 2 评论 -
iOS上传AppStore所需各种图片尺寸
引导页:640 * 960640 *1136750 *13341080 *1920启动页:640 * 960640 *1136750 *1334768 *10241242 *22081536 *2048上传appStore所需各分辨率图片:3.5 640 * 9604 640 * 11364.7 750 * 13345.5 1242 * 22085...原创 2019-01-20 21:39:56 · 14120 阅读 · 2 评论 -
LSApplicationQueriesSchemes
从iOS9之后,引入了白名单的概念。1、在iOS9之后,如果使用 canOpenURL:方法,该方法所涉及到的 URL Schemes 必须在"Info.plist"中将它们列为白名单,否则不能使用。key叫做LSApplicationQueriesSchemes ,键值内容是对应应用程序的URL Schemes;2、在iOS9.0后,涉及到平台客户端的跳转,系统会自动到info.plist下...原创 2019-01-25 15:07:16 · 13748 阅读 · 2 评论 -
iOS AlipaySDK(支付宝支付)集成问题汇总
已集成友盟应用统计 UMCSecurityPlugins 安全组件,现在集成支付宝支付,导入 AlipaySDK.framework 就出现 UTDID 冲突错误,如下所示:解决方法就是换个支付宝支付 SDK 就可以了,AlipaySDK_No_UTDID...原创 2019-01-20 20:51:53 · 2218 阅读 · 0 评论 -
Apple 投诉网站
Apple 投诉网站:reportaproblem.apple.com原创 2019-01-14 22:33:20 · 4172 阅读 · 0 评论 -
App 不能安装原因
1、证书or描述文件过期了;描述文件过期App直接不能用;2、描述文件所关联的证书过期了or被人误删除了描述文件与证书关系http://www.cnblogs.com/jingxin1992/p/6047100.html...原创 2018-11-19 14:47:13 · 462 阅读 · 0 评论 -
po [array count] 问题
Xcode 控制台 po [operatorSource count];报:property ‘count’ not found on object of type 'NSArray '原因:https://stackoverflow.com/questions/14007942/lldb-error-property-not-found-on-object-of-type#解决方法:p...原创 2018-11-19 14:44:23 · 164 阅读 · 0 评论 -
Xcode 中代码MARK、TODO等特殊注释
// MARK: 标记// TODO:标识将来要完成的内容// FIXME:标识以后要修正或完善的内容// ???: 疑问的地方// !!!: 需要注意的地方原创 2018-11-09 09:17:36 · 2245 阅读 · 0 评论 -
图片所占内存
1、图片内存大小跟占用空间大小有什么关系?占用空间的大小不是图片占用内存的大小。占用空间是在磁盘上占用的空间,内存大小是加载到内存中占用的内存大小。两个只是单位是一样的,本质不是一个概念。2、一张图片到底占用多少内存呢?图片占用内存的计算公式:图片高度 * 图片宽度 * 一个像素占用的内存大小存储不同的色彩模式需要不同的内存,具体如下:图片类型 ...原创 2018-11-01 13:36:38 · 7548 阅读 · 0 评论 -
iOS -- AFNetworking传入数组参数的解决方法
NSDictionary *dict = @{ @"a":@"a" }; NSArray *arr = @[dict]; NSError *parseError = nil; NSData *jsonData = [NSJSONSerialization dataWithJSONOb...原创 2018-10-29 23:27:02 · 2875 阅读 · 0 评论 -
iOS-- 解决AppStore隐私政策上架
10月3号开始,苹果规定新上线或者更新的app 必须增加隐私政策。解决方案如下:1.app store connect url隐私政策一栏增加链接。2.APP里面在显著的位置增加可点击的隐私政策一项。例如jd:jd隐私政策 https://in.m.jd.com/help/app/private_policy.html原文链接:https://developer.apple.co...原创 2018-10-26 14:53:49 · 13550 阅读 · 0 评论 -
iOS 检查静态库的CPU架构支持命令
检查静态库的CPU架构支持命令:lipo -info xxxxx.a支持模拟器和真机.a的合成lipo -create xxxxx -output xxxxx.alipo -info xxxxx.a指令集armv6 | armv7|armv7s|arm64都是ARM处理器的指令集i386|x86_64 是Mac处理器的指令集指令集与设备armv6 设备: iPhone, iP...原创 2018-10-10 14:29:22 · 870 阅读 · 0 评论 -
iOS Instruments 上各个图标含义
Blanka blank trace document that can be customized with instruments from the libraryActivity MonitorMonitors CPU, memory, disk, and net work usage statistics for processes and the systemAllocati...原创 2018-10-10 14:01:36 · 655 阅读 · 0 评论 -
iOS duplicate symbol
duplicate symbol _OBJC_METACLASS_$_RXMLElement in: /.../Frameworks/libWintoneCardOCR.a(RXMLElement.o) /.../Frameworks/libWintonePlateIDPro.a(RXMLElement.o)ld: 7 duplicate symbols for architec...原创 2018-10-10 10:37:48 · 1262 阅读 · 0 评论 -
iOS 交叉编译
1、区别本地编译与交叉编译本地编译:在当前编译平台下编译出来的程序只能在当前平台下运行。比如,我们在 x86 平台上,编写程序并编译成可执行程序。这种方式下,我们使用 x86 平台上的工具,开发针对 x86 平台本身的可执行程序,这个编译过程称为本地编译。交叉编译:在当前编译平台下,编译出来的程序能运行在体系结构不同的另一种目标平台上,但是编译平台本身却不能运行该程序。比如,我们在 x86 平...原创 2018-10-10 10:11:21 · 1891 阅读 · 0 评论 -
iOS系统版本占比查询
iPhone系统版本占比https://developer.apple.com/support/app-store/https://david-smith.org/iosversionstats/iPhone国内市场占比http://compass.umeng.com/trend#hardwareListhttps://www.jiguang.cn/reports/283...原创 2018-10-09 14:54:35 · 1682 阅读 · 0 评论 -
iOS与Android对比
iOS:2007年推出,属于类Unix的商业操作系统,用Objective-c编写,拥有较多优雅之处,系统结构分为以下四个层次:核心操作系统(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),Cocoa 触摸框架层(the Cocoa Touch layer)。核心理念就是“应用为王”。Android:2...原创 2018-10-08 16:55:44 · 982 阅读 · 0 评论 -
iOS -- static、const、extern
static修饰局部变量:1.延长局部变量的生命周期,程序结束才会销毁;2.局部变量只会生成一份内存,只会初始化一次;3.改变局部变量的作用域;修饰全局变量:1.只能在本文件中访问,修改全局变量的作用域,生命周期不会改;2.避免重复定义全局变量const被const修饰的变量是只读的,不可以修改 ;extern只是用来获取全局变量(包括全局静态变量)的值,不能用于定义变量;...原创 2018-10-08 16:32:20 · 256 阅读 · 0 评论 -
iOS frame、bounds、center
frame:描述当前视图在其父视图中的位置和大小。bounds:描述当前视图在其自身坐标系统中的位置和大小。center:描述当前视图的中心点在其父视图中的位置。- (void)viewDidLoad { [super viewDidLoad]; UIView *view0 = [[UIView alloc] initWithFrame:CGRectMake(20, 20, ...原创 2018-10-08 16:12:09 · 252 阅读 · 0 评论