iOS
文章平均质量分 55
Crazy_bananas
这个作者很懒,什么都没留下…
展开
-
关于web端调用iOS系统的图库异常的问题
前端调用iOS系统图库时出问题原创 2023-11-22 15:36:34 · 107 阅读 · 0 评论 -
iOS 详细制作cocoapod库、相关问题的处理、多人管理等
背景:由于近期换新公司,新公司计划将SDK集成到cocoapod上,便于提供给厂商一键集成。之前的公司也搞过,但都搞一半就没有详细内容和多人管理。cocoapod库制作流程:一、在GitHub上或者Gitlab上创建项目:每个人不同的管理代码工具,但GitHub和Gitlab是相似的,需要先在上面创建对应的项目,然后把framework给上传上去(有些人选择源码制作cocoapod,一样的操作步骤,只是后续的spec文件编写内容有偏差),我这里采用的是制作成framework库然后上传到项目原创 2021-09-24 15:24:54 · 810 阅读 · 0 评论 -
iOS 查找工程内UIWebView
自从2020年5月1号,苹果强制要求使用xcode11,废弃UIWebView,最近提审包收到邮件说有UIWebView,要求更换掉才能提。5月1号前都是警告⚠️说UiWebView需要更新成wk,现在强制要改了,生成不了构建版本,工程是unity转过来的,全局查不到隐藏的,无奈通过终端命令查找一下工程内UIWebView。1. cd到工程文件下2.grep -r UIWe...原创 2020-05-07 19:30:55 · 4392 阅读 · 4 评论 -
iOS ,记录一下自己对于圆角优化性能的理解
公司开发多个项目中,视图的圆角是不可避免的,也是增加美观度的一种方式,下面谈一下“老生常谈”的圆角问题,以下是个人理解。圆角的常用设法,cornerRadius设置圆角 , masksToBounds把整个图层蒙上圆角 。_whiteView.layer.cornerRadius = 5;_whiteView.layer.masksToBounds = YES;但是maskToBo...原创 2018-10-18 18:58:26 · 591 阅读 · 0 评论 -
转载 - - - iOS10、11自定义左滑菜单项背景图片
// 以前的做法// 1.ViewController代码如下:自定义三个左滑项- (NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{ NSString *titleC...转载 2018-09-11 16:57:37 · 368 阅读 · 1 评论 -
【支持iOS11】UITableView左滑删除自定义 - 实现多选项并使用自定义图片
【支持iOS11】UITableView左滑删除自定义 - 实现多选项并使用自定义图片本文介绍关于cell侧滑在iOS8-10 的写法,以及iOS11.0以后的新型处理方式。本文介绍两种UITableView左滑菜单的实现方法,1. 默认, 2. 自定义。效果如下:1. 系统默认效果swipe-default.PNG 2. 自定义图标效果 (类似“邮件”应用)s...转载 2018-09-11 16:52:13 · 1458 阅读 · 1 评论 -
iOS 用runtime给button的Category写text属性,设置title
头文件#import <UIKit/UIKit.h>@interface UIButton (tool)@property (nonatomic , copy)NSString *text;@end.m文件#import "UIButton+tool.h"#import <objc/runtime.h>@implementation UIButton (tool)-(voi...原创 2018-06-25 11:30:48 · 249 阅读 · 0 评论 -
Keychain简单使用
#import <Foundation/Foundationh> #import <Security/Securityh> @interface MyKeychain : NSObject + (BOOL)save:(NSString*)service data:(id)data; + (id)load:(NSString*)service; + (void)del...原创 2018-05-22 18:18:30 · 595 阅读 · 0 评论 -
iOS自定义字体的获取
从本地读取字体 并注册 读取方法一 :+ (instancetype)customFont:(CGFloat)fontSize{ NSString *fontPath = [[NSBundle mainBundle]pathForResource:@"regular" ofType:@"otf"]; NSData *dynamicFontData = [NSData dataWi...转载 2018-05-21 15:57:45 · 1544 阅读 · 0 评论 -
iOS关于加载图片的几种方式选择
最近在开发过程中遇到一些性能优化的东西,这次来说说关于图片加载的性能优化和选择。大家都知道创建UIImage常用以下几种方式+ (nullable UIImage *)imageNamed:(NSString *)name; // load from main bundle#if __has_include(<UIKit/UITraitCollection.h>)...原创 2018-10-17 16:27:12 · 1671 阅读 · 0 评论 -
iOS 源生推送和极光推送
公司新增推送服务器,要用源生,一两年前写过,不过最近几个项目是用极光,现在再整理一下,废屁不多放,看源生推送和极光的区别:1. 注册推送 这点一样,是极光推送进行加层封装了一下2.获取token ,注意token开发和发布获取的不同,不能通用3.服务器逻辑: 源生:自己服务器拿证书,token,消息json串(角标,声音等)去请求APNs苹果推送服务...原创 2018-10-24 17:45:01 · 417 阅读 · 0 评论 -
字体渐变、导航栏滑动、遮罩实现文字颜色启示
公司应用内部实现上面小功能按钮,下面简单说一下思路:一,先说视图的创建,我写了五层1. 底部放一个浅色的view叫baseView吧,就上面看浅蓝的,颜色自己设2.baseView上面放几个按钮(根据需求),都是未点击状态的按钮3.baseView上再放一个view,蓝色的,用来当做滑动的视图,这里叫moveView4.moveView上放一个基础view ,要和上面...原创 2018-11-16 18:14:06 · 1028 阅读 · 0 评论 -
关于WKWebView和JS交互同步返回数据的坑
后台的小伙伴要那种同步返回,可以用var直接接收返回值的形式进行处理逻辑,但是WkWebvie貌似不能用context进行JS注入。1.先看一下UIWebView如何实现的借助于iOS里的框架:JavaScriptCore.FrameWork来实现,导入JavaScriptCore.FrameWork #import <JavaScriptCore/JavaScr...原创 2018-12-07 18:56:18 · 3889 阅读 · 0 评论 -
ios 点击cell跳转界面后,返回父控制器,cell点击一下没反应,点击第二下才有效
一般来说直接点击cell第一下没反应,第二下才有反应是因为cell点击的代理方法写错-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath;取消cell的选中状态有时候点击一下跳转,然后再back回来,cell可能还在选中状态正确的点击代理方法- (voi...原创 2019-04-26 12:07:01 · 450 阅读 · 0 评论 -
iOS审核马甲包分析和过审因素
以下为个人见解,有误的请联系博主。1. 马甲的作用 1.1 测试新功能 ,吸流量 1.2 做活动测试 1.3 买流量冲榜2. 马甲包过审受影响因素 2.1 包质量(产品质量),一个好的产品是全新开发的,而不是各种旧代码拼凑的 过包的前提因素就是包的滥用程度 和 处理程度 2.2 包的代码优化 , 根据个人经验,马甲包...原创 2019-08-29 17:55:48 · 674 阅读 · 0 评论 -
iOS 加载gif 的两种方式
简单记录一下,排除第三方加载gif1. 使用webview ,可以根据需要将webview放到一些控件上如下:-(void)loadGif{ //1.找到gif文件路径 ,SDKPlatform.bundle/loading1 是所在SDKPlatform.bundle中 NSString *dataPath = [[NSBundle mainBundle]...原创 2019-08-29 20:57:30 · 786 阅读 · 0 评论 -
xcode调试技巧_crash_Instrument
注意:xcode三大调试1.代码调试的5大技巧2..crash崩溃日志的调试方式3.Instrument动态分析方式一:代码的5大调试方式1.Enable NSZombie Objects(开启僵尸对象)Edit Scheme->Enable NSZombie Objects2.对于所有异常添加Global BreakPoint(全局断点)3.Static Analyzer(静态分析)Pro...翻译 2018-04-26 15:51:58 · 341 阅读 · 0 评论 -
iOS app重签名,个人心得
在开发中经常遇到CP的包拿过来少添加了UDID之类的,为了方便测试,需要对ipa重签名,重签名就是把配置文件替换掉(配置文件制作的时候和UDID关联,所以替换掉,就相当于改动UDID,个人理解)。重签名有多种多样的,1.工具iReSign界面如下1.就是ipa的路径,点击浏览就能添加2.就是新的配置文件的路径3.是entitlement.plist的路径4.重新修改成的APPID ,后面要打对号(...原创 2018-03-05 14:38:45 · 12551 阅读 · 9 评论 -
开发中遇到arm64之类的报错多种解决方案
公司做SDK开发难免遇到用户使用SDK遇到各种各样的原因,固然使用文档说明排除的大部分,但难免会有用户自己的工程报其他错而怀疑是SDK的问题,不得不一一去协助解决,下面关于arm64指令集不支持的错误总计:部分报错内容 Undefined symbols for architecture arm64: "_OBJC_CLASS_$_WBAuthorizeResponse", referenced...原创 2018-03-16 18:36:38 · 3095 阅读 · 0 评论 -
找的runtime最基本的一些东西,比看大神们的什么机制解释简单(大神们的东西看完还是蒙逼)
感觉这些东西太直白了,比起那些大神们的什么机制解释完全不懂啊,想想那些流程,就是oc的代码必须都是转化为runtime类的东西,翻译 2016-06-14 14:25:04 · 427 阅读 · 0 评论 -
聚合支付ping++流程和SDK使用,你没看错,是一样的
Ping++ SDK1.简介Ping++ SDK包括Server和Client两部分。其中Server目前支持 PHP,Java,Python,Node.js,Ruby,Go,C# 七种语言。Client目前支持 iOS终端,Android终端,手机网页和PC网页这四种平台,分别对应iOS,Android,HTML5和PC这四种Client SDK。2.原创 2016-06-06 19:18:47 · 5529 阅读 · 1 评论 -
获取两个version来判断是否版本更新
获取当前版本号NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary]; //CFShow((__bridge CFTypeRef)(infoDic));NSString *currentVersion = [infoDic objectForKey:@"CFBundleVersion"];//原创 2016-07-11 18:07:07 · 603 阅读 · 0 评论 -
Core Location定位
Core Location是iOS SDK中一个提供设备位置的框架。可以使用三种技术来获取位置:GPS、蜂窝或WiFi。在这些技术中,GPS最为精准,如果有GPS硬件,Core Location将优先使用它。如果设备没有GPS硬件(如WiFi iPad)或使用GPS获取当前位置时失败,Core Location将退而求其次,选择使用蜂窝或WiFi。Core Location的大多数功能是由转载 2017-06-13 14:53:52 · 705 阅读 · 0 评论 -
iOS开发系列--地图与定位
iOS开发系列--地图与定位现在很多社交、电商、团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的。的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式。例如你到了一个陌生的地方想要查找附近的酒店、超市等就可以打开软件搜索周边;类似的,还有很多团购软件可以根据你所在的位置自动为你推荐某些商品。总之,目前地图和定位功能已经大量转载 2017-06-13 15:31:44 · 531 阅读 · 0 评论 -
UIKit 框架图- iOS开发需要不断的深入理解
UIKit框架在今后的应用程序构建中,会陆续使用各式各样的控件,因此UIKit框架的引入是必不可少的!一、简介UIKitk框架提供一系列的Class(类)来建立和管理iPhone OS应用程序的用户界面接口、应用程序对象、事件控制、绘图模型、窗口、视图和用于控制触摸屏等的接口。二、框架的入口#import UIKit/UIKit.h> 三、框架图:原创 2017-07-29 15:11:59 · 522 阅读 · 0 评论 -
详解iOS中UIButton的三大UIEdgeInsets属性用法
详解iOS中UIButton的三大UIEdgeInsets属性用法这篇文章主要介绍了iOS中UIButton的三大UIEdgeInsets属性用法,分别讲解了contentEdgeInsets、imageEdgeInsets和titleEdgeInsets三个属性在创建UIButton时对样式的控制,需要的朋友可以参考下UIEdgeInsets是什么UIEdge转载 2017-07-25 10:11:14 · 1710 阅读 · 0 评论 -
iOS 10 之 网络权限带来的坑
症状 iOS 10 之后,陆陆续续地有用户联系我们,说新机第一次安装、第一次启动的时候,app 首屏一片空白,完全没数据。kill 掉重新打开就好了。 一开始以为是用户网络情况不好,但随着越来越多的用户报告这个问题,我意识到这并不是偶然情况。但是并非所有用户都如此。 而且卸载掉之后,如果再装,也不会出现这现象。问题只会出现在这台设备第一次安装转载 2017-08-17 11:51:29 · 5720 阅读 · 1 评论 -
UITextField的各种属性,代理方法,常见的使用,纯代码和可视化工具中的都有
UITextFidle相关属性 • enablesReturnKeyAutomatically默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disabled的。1.borderStyle设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect转载 2017-07-28 17:36:17 · 1040 阅读 · 0 评论 -
shareSDK分享
将内容分享到其他平台是个非常普遍的功能,今天和大家分享一下,如何用ShareSDK实现分享到微信好友、微信收藏、微信朋友圈、QQ、QQ空间、印象笔记以及复制的功能。首先,我们需要去各个社交平台申请对应的APPKey,各个平台的网址汇总可参考:ShareSDK各社交平台申请APPkey 的网址及申请流程汇总。之后,我们导入ShareSDK的库。用pod导入。在Pod file中添转载 2017-08-26 15:39:50 · 1348 阅读 · 1 评论 -
iOS开发中方法延迟执行的几种方式
Method1. performSelector方法Method2. NSTimer定时器Method3. NSThread线程的sleepMethod4. GCD公用延迟执行方法- (void)delayMethod{ NSLog(@"delayMethodEnd");}Method1:performSelector[self performSelec原创 2017-09-04 10:36:55 · 317 阅读 · 0 评论 -
CADisplayLink 定时器改变label文字颜色的问题
1.创建一个颜色渐变层,渐变图层跟文字控件一样大。2.用文字图层裁剪渐变层,只保留文字部分,就会让渐变层只保留有文字的部分,相当于间接让渐变层显示文字,我们看到的其实是被裁剪过后,渐变层的部分内容。注意:如果用文字图层裁剪渐变层,文字图层就不在拥有显示功能,这个图层就被弄来裁剪了,不会显示,在下面代码中也会有说明。2.1 创建一个带有文字的label,label能显示文字。转载 2016-07-11 18:00:43 · 470 阅读 · 0 评论 -
iOS 几种存储方式
今天来说一说iOS 几种存储模式公司开发SDK中用到素材为了防重,就从服务器获取了,优化获取图片,存储到了沙盒中。因为之前我看到对于存储模式众说纷纭,今天就来说一下我的观点。以下是我认为的存储方式分类:1.数据库 SQLite (第三方库FMDB之类)2.Core Date 苹果封装的,可以把数据库当成对象来操作的api3.归档 解档 NSCoding协议 。就是数据用原创 2017-10-18 16:16:51 · 910 阅读 · 0 评论 -
ipa安装手机失败的几类原因
前言iOS 的内测应用在安装时,很多人都遇到过安装失败的情况,安装失败的原因比较多,下面将一些常见原因总结如下,方便开发者进行排查。在 iOS 9 中启动应用时,出现提示“未受信任的企业级开发者”这样问题是因为在 iOS 9 以后的版本中,苹果对企业签名的应用做了更严格了限制。具体解决办法请见: 企业级证书打包下载安装之后无法使用问题在 iOS 9 中点击“安装”按翻译 2017-10-19 16:04:02 · 3315 阅读 · 0 评论 -
关于CLLocation定位中CLGeocoder报错的问题
由于公司SDK需要定位设备位置来做一些操作,所以就用了系统的CLLocation去做了简单的定位和经纬度反编译。但是在反编译的时候遇到一些问题,CLGeocoder报错。话不多说,贴上代码@interface TimeAndLocation ()@property (nonatomic,strong)CLLocationManager *locationManager;@property原创 2017-10-26 18:04:28 · 1881 阅读 · 0 评论 -
关于审核被拒Guideline 2.1 - Information Needed的问题
刚开始看到这个问题的时候懵逼了,卧槽怎么这么多,问了一些朋友,也有不少遇到类似情况的,我自己的看法,应该是机器审核在过年这段时间新增了什么机制(过年这段时间都忙着上架,一些股票,博彩类的被拒不少,可能苹果针对进行新增的规则),所有app机审遇到就自动被拒并回复此类邮件。然后就有点安心了,苹果说有什么问题就一个个解决呗,我应用没有这些问题的,就一个个给你解释,实在不行就电话沟通,完全不慌。贴上被拒邮...原创 2018-03-02 10:38:38 · 9630 阅读 · 1 评论 -
监听网络
iOS开发网络篇—监测网络状态一、说明在网络应用中,需要对用户设备的网络状态进行实时监控,有两个目的:(1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能)(2)根据用户的网络状态进行智能处理,节省用户流量,提高用户体验 WIFI\3G网络:自动下载高清图片 低速网络:只下载缩略图 没有网络:只显示离线的缓存数据 苹果官方提供了一个叫Reachab转载 2016-06-17 17:01:37 · 300 阅读 · 0 评论