iOS
文章平均质量分 54
惟爱妮
学无止境
展开
-
使用MKMapView后内存一直增加
内存处理,地图,MKMapView原创 2022-11-10 15:50:26 · 368 阅读 · 1 评论 -
iOS15出现的问题及其适配
1、iOS15中对导航栏的性能做了优化,默认如果导航栏与视图没有折叠,导航栏的背景是透明的,如果系统检测到有重叠的话,会变成毛玻璃的效果。if (@available(iOS 15.0, *)) { UINavigationBarAppearance *appearance = [[UINavigationBarAppearance alloc] init]; [appearance setShadowImage:[[UIImage alloc] init]]; [appear原创 2021-12-17 15:20:18 · 902 阅读 · 1 评论 -
Xcode提示Missing private key
目标平常我们做iOS开发,会经常遇到打开其他的APP的功能。本篇文章讲的就是打开别人的APP的一些知识。我们的目标是:打开别人的APP让别人打开我们的APPiOS9的适配问题使用URL Schemes传递数据准备工作建立一个名为OpenApp的工作空间,用来存放我们的两个工程建立这个工作空间主要是为了让我们后面建立的两个工程能在一个Xcode页面上管理,方便讲解和管理。原创 2021-10-29 14:42:37 · 2615 阅读 · 0 评论 -
Apple开发者账号介绍及证书配置详细说明
目标平常我们做iOS开发,会经常遇到打开其他的APP的功能。本篇文章讲的就是打开别人的APP的一些知识。我们的目标是:打开别人的APP让别人打开我们的APPiOS9的适配问题使用URL Schemes传递数据准备工作建立一个名为OpenApp的工作空间,用来存放我们的两个工程建立这个工作空间主要是为了让我们后面建立的两个工程能在一个Xcode页面上管理,方便讲解和管理。转载 2021-10-29 13:42:22 · 5834 阅读 · 1 评论 -
iOS 自动打包脚本
将配置文件与python脚本放在与.xcodeproj文件同级目录下, 使用方法:首先在终端上切到脚本所在目录下,执行 ./autobuild.py -p yourproject.xcodeproj -s schemename 或 ./autobuild.py -w yourproject.xcworkspace -s schemenae ,将autobuild.py换成你自己的python文件名...原创 2018-05-17 12:02:37 · 1203 阅读 · 0 评论 -
An AVPlayerItem cannot be associated with more than one instance of AVPlayer
1.发现问题的过程 项目已经上线了 差不多半年多了, 最近对友盟统计里面的,统计到的问题进行清扫,修复。 发现有一个问题出现了400多次了 , An AVPlayerItem cannot be associated with more than one instance of AVPlayer 这个引起了崩溃 400多次,顿时 ,我觉得自己太失职了 ,这么大的问题竟然不知道,同时也原创 2018-02-05 17:47:54 · 1168 阅读 · 0 评论 -
实现类似Twitter的启动动画
来来来,今天咱们通过实现一个类似Twitter的启动动画来看看CAKeyFrame Animation和CAAnimation Group怎么玩。所以今天咱们的重点到了第七章,CAKeyFrame Animation和CAAnimation Group。最后的那个启动动画完全是为了实践一下看看CAKeyFrame Animation和CAAnimation Group怎么使用。有读转载 2018-02-05 17:28:29 · 670 阅读 · 0 评论 -
横竖屏切换代码
1.首先是AppDelegate,这⾥里加载rootViewController⽅方法要变⼀下 : - (BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{ self.window = [[UIWindow all原创 2018-02-05 17:22:21 · 472 阅读 · 0 评论 -
iOS自动打包并发布脚本
本文最终实现的是使用脚本打 Ad-hoc 包,并发布测试,当然稍微修改一下脚本参数就可以打其他类型的 ipa 包了。另外该脚本还实现了将生成的 ipa 包上传至蒲公英进行测试分发。xcodebuild 简介使用xcodebuild和xcrun打包签名将打包过程脚本化xcodebuild 简介xcodebuild 是苹果提供的打包项目或者工程的命令,了解该命令最好的方转载 2018-02-05 16:58:20 · 179 阅读 · 0 评论 -
获取设备唯一UDID号
本来可以用下面的代码轻松获取UDID号:NSString *uuid = [[UIDevice currentDevice] uniqueIdentifier];不过iOS5后, uniqueIdentifier 这个函数被废除了, 编译不过去。只能另外想办法。网上找了一下, 有可以替代的方案,这个方案还是比较靠谱的。该解决方案源码地址:原创 2018-02-02 18:02:49 · 1190 阅读 · 0 评论 -
应用安装无网络访问,提示是否允许使用网络
下面总结几条目前可行的解决方案:方法 1:多退出重进几次 App,有一定几率会弹出提示框。方法 2:在「设置 - 蜂窝移动网络」内打开「无线局域网助理」开关,再进入无法联网的 App,会弹出提示框。解决之后,就可以关掉助理开关。PS:(无线助理 是当wifi信号不好或者丢失的时候会使用手机的 移动蜂窝数据网络 访问,这样会跑流量,这个方法目前最有效)方法 3:先去设置里原创 2018-02-05 16:52:01 · 2785 阅读 · 0 评论 -
RAC的简单使用
今天是周末,临近年底,工作上遇到不可抗力,会有点一些变动!这多少会让人有一点静不下来,但需克制,Reactive Cocoa是今天的主角!废话不多说,今天聊聊Reactive Cocoa的常见使用! Reactive Cocoa 是一个非常重量级一个框架,个人非常欣赏这个团队!! 为什么说Reactive Cocoa非常的牛!! 我们所熟知的iOS 开发中的事件包括:Tar转载 2018-02-02 18:39:12 · 579 阅读 · 0 评论 -
MVVM+RAC 从框架到实战
一、前言很早之前就想写写自己在设计模式方面的心得,但是一直感觉自己是井底之蛙,毕竟在iOS领域越深入越感到自己的无知,心中有着敬畏之心,就更没有自信去写这个东西(你也可以理解是没时间(>﹏<),请原谅我的装逼,嘿嘿).对于设计模式这个让人又爱又恨的玩意,说来其实简单,但一千个人眼中就有一千种哈姆雷特,说他千变万化确实是事实,而且当你深入其中的时候你真的会上瘾,并乐此不疲!前转载 2018-02-02 18:35:51 · 506 阅读 · 0 评论 -
UIView的几个layout方法的调用
下面列举下iOS layout的相关方法:layoutSubviewslayoutIfNeededsetNeedsLayoutsetNeedsDisplaydrawRectsizeThatFitssizeToFit大概常用的上面几个 , 具体的应该还有别的。layoutSubviews这个方法,默认没有做任何事情,需要子类进行重写 。 系统在很多时候会去调用这个方法:1.初始化不会触发layout...原创 2018-05-15 16:17:46 · 486 阅读 · 0 评论 -
ASO优化:苹果App Store的搜索排名规则是怎么样的?
App Store即苹果应用商店,要做好ASO优化,需要对appstore有很好的了解,如:appstore如何展示这些app、搜索的规则是怎样的、怎样才能上排名榜等等,下面一一介绍。 苹果App Store如何展示App?App Store主要通过:应用搜索、分类榜单、首页精品推荐等方式来分发应用。 1. 分类榜是一个重要入口: 一个分类榜单通常显示前150名左右的应用,总共大约有20个左右大分...转载 2018-05-15 16:46:09 · 8271 阅读 · 0 评论 -
set a breakpoint in malloc_error_break to debug
原创 2018-05-16 14:31:59 · 16002 阅读 · 0 评论 -
WebView加载图片适配屏幕尺寸
在webView结束加载的代理方法中调用:NSString *js=@"var script = document.createElement('script');" "script.type = 'text/javascript';" "script.text = ...原创 2018-05-15 19:08:42 · 564 阅读 · 0 评论 -
WebView修改图片尺寸,文字大小
NSString *contentHtml = @"<p>严冬的晚自习后 习惯吐气暖你的双手\ 那年圣诞绽放的烟火 映在彼此的眼中坠落\ <br/> \ <br/> \ 当那时光慢慢地飞走 你已渐渐不在我左右\ ...原创 2018-05-15 18:51:55 · 591 阅读 · 0 评论 -
关于alpha, hidden, opaque, opacity的解释
一、alpha液晶显示器是由一个个的像素点组成的,每个像素点都可以显示一个由RGBA颜色空间组成的一种色值。其中的A就表示透明度alpha,UIView中alpha是一个浮点值,取值范围0~1.0,表示从完全透明到完全不透明。1、alpha会影响自己的透明度,同时也会影响subView的透明度。2、alpha设为空之后,UIView不会从响应者链中移除,仍然可以收到event。(这一点貌似并不对)...原创 2018-05-15 18:06:02 · 984 阅读 · 0 评论 -
js与OC的互相调用
iOS开发免不了要与UIWebView打交道,然后就要涉及到JS与原生OC交互,今天总结一下JS与原生OC交互的两种方式。JS调用原生OC篇方式一第一种方式是用JS发起一个假的URL请求,然后利用UIWebView的代理方法拦截这次请求,然后再做相应的处理。我写了一个简单的HTML网页和一个btn点击事件用来与原生OC交互,HTML代码如下:<html> <header&...原创 2018-05-15 17:54:33 · 182 阅读 · 0 评论 -
WebView修改文字大小、颜色,背景颜色
1.第一种方式:在WebView的代理方法webViewDidFinishLoad中:字体大小: [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '12%'"];字体颜色:[webView stringByEv...原创 2018-05-15 17:52:59 · 1953 阅读 · 0 评论 -
WKWebview详解
UIWebView 之痛开发App的过程中,常常会遇到在App内部加载网页,通常用UIWebView加载。而这个自iOS2.0开始使用的Web容器一直是开发的心病:加载速度慢,占用内存多,优化困难。如果加载网页多,还可能因为过量占用内存而给系统kill掉。各种优化的方法效果也不那么明显,常见的优化缓存方式:1、尽量使用 GET 请求,iOS 系统 SDK 会自动帮你做缓存。你需要的仅仅是设置下内存...转载 2018-05-15 17:07:28 · 4606 阅读 · 0 评论 -
键盘处理神器IQKeyboardManager的使用
平常在开发中,用到输入框的地方不胜其数,当输入框位于屏幕底部时,弹起的键盘很可能覆盖输入框,导致用户看不到输入结果,体验较差...... IQKeyboardManager 可以很简单快捷的解决键盘遮盖输入框的问题,接下来就一起来学习一下吧。IQKeyboardManager的一些使用方法1. 用 Cocoapod 导入或直接下载拖进去,这里方便起见直接用 Cocoapod 导入。IQKeyboa...原创 2018-05-15 17:01:15 · 1248 阅读 · 0 评论 -
删减项目中多余的图片资源,减小app体积
由于随着项目不但的版本迭代开发,资源也不断的替换,如果没有养成一个好的使用习惯,时间久了,自然就产生了好多的无用的图片资源,下面就两种方法帮你定位到无用的图片1.利用工具下载地址 http://jeffhodnett.github.io/Unused/ 选择好工程目录即可。2.通过终端执行shell命令此种方法需要安装ack [在终端通过:brew install ack 命令安装ack(ack...原创 2018-05-15 16:55:28 · 434 阅读 · 0 评论 -
设置webView字体大小,宽度及缩放效果
[objc] view plain copy//设置字体大小 -(void)webViewDidFinishLoad:(UIWebView *)webView { //修改百分比即可 [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagNam原创 2018-02-02 18:27:21 · 2068 阅读 · 0 评论 -
波浪线动画
类似淘宝个人信息状态栏,京东金融等双波浪动画主要方法:通过自定义View,利用正弦函数与余弦函数的效果.一.相关概念解释正弦函数: y =Asin(ωx+φ)+CA 表示振幅,也就是使用这个变量来调整波浪的高度ω表示周期,也就是使用这个变量来调整在屏幕内显示的波浪的数量φ表示波浪横向的偏移,也就是使用这个变量来调整波浪的流动C表示波浪纵向的位原创 2018-02-02 18:28:55 · 1177 阅读 · 0 评论 -
添加子视图控制器时,子视图控制器的viewWillAppear方法不调用
直接贴代码:[baseController beginAppearanceTransition:trueanimated:false];[self.view addSubview:baseController.view];[baseController endAppearanceTransition];[self addChildViewContro原创 2018-01-04 16:21:03 · 3233 阅读 · 1 评论 -
ios集成极光推送的一些坑点及详解
一、设置badge(角标) [[UIApplicationsharedApplication]setApplicationIconBadgeNumber:0]; [JPUSHServicesetBadge:0];//清空JPush服务器中存储的badge值 JPush为每个客户端保存其特定的badge值。客户端有变更时,把badge值更新到J转载 2017-01-19 18:48:51 · 1380 阅读 · 0 评论 -
ipv6审核被拒绝的解决方案
目录1.苹果ipv6被拒绝邮件描述汇总2.如何判断是因为ipv6被拒绝?3.如何适配ipv6?4.检查服务器是否支持ipv6及服务器如何修改5.ipv6多次被拒后的怎么办?自己搭建的ipv6是好的还是被拒绝怎么办?(顺序操作哦)6.实在搞不定ipv6怎么办?(对ipv6无计可适的时候可以考虑)苹果ipv6被拒绝邮件描述汇总(近2个转载 2016-12-23 17:19:19 · 5907 阅读 · 0 评论 -
苹果审核因IPv6被拒的探索与解决方法
app因必须支持IPv6导致上线被拒了好几次,每次被拒都各种查找原因,重新提交,直到最终通过审核。这是我对app最终通过审核的总结。首先,app要支持IPv6就需要搭建IPv6环境,真机测试是否支持。常用的测试方式有两种:第一种,利用有线网络搭建IPv6环境;第二种,利用一部iPhone手机的热点共享进行IPv6环境的搭建。这两种方式都是利用MAC设备发射WIFI信号,然后测试机连转载 2016-12-23 16:59:56 · 3563 阅读 · 0 评论 -
Xcode8配置支持10.2的系统
1.百度网盘下载10.1(14B72)的配置文件,链接: https://pan.baidu.com/s/1pLdIokV 密码: 4wbg2.将下载好的配置文件copy到Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport文件夹下。原创 2016-12-14 10:57:34 · 2853 阅读 · 0 评论 -
NSURLSession的使用
写此文时突发灵感作诗一首, 而后置顶, 欢迎品鉴.有的程序员老了,还没听过NSURLSession有的程序员还嫩,没用过NSURLConnection有的程序员很单纯,他只知道AFN.NSURLConnection在iOS9被宣布弃用,NSURLSession从13年发展到现在,终于迎来了它独步江湖的时代.NSURLSession是苹果在iOS7后为HTTP数据传输提供的一转载 2016-12-09 16:03:58 · 325 阅读 · 0 评论 -
iOS 10 适配 ATS(app支持https通过App Store审核)
iOS 10 适配 ATS一. HTTPS其实HTTPS从最终的数据解析的角度,与HTTP没有任何的区别,HTTPS就是将HTTP协议数据包放到SSL/TSL层加密后,在TCP/IP层组成IP数据报去传输,以此保证传输数据的安全;而对于接收端,在SSL/TSL将接收的数据包解密之后,将数据传给HTTP协议层,就是普通的HTTP数据。HTTP和SSL/TSL都处于OSI模型的应用层。从H转载 2016-12-12 11:56:14 · 1770 阅读 · 0 评论 -
iOS应用崩溃日志分析
为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试工作。它在你的设备上也运行得很好,但是,上了应用商店后,还是有用户抱怨会闪退 ! 如果你跟我一样是个“” 作为一名应用开发者,你是否有过如下经历? 为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试工作。它在你的设备上也运行得很好,但是,转载 2016-09-26 11:05:08 · 415 阅读 · 0 评论 -
math.h中一些常用函数
math.h中一些常用函数 abs(计算整型数的绝对值)相关函数: abs, fabs表头文件: #include定义函数: int abs (int j)函数说明: abs()用来计算参数j的绝对值,然后将结果返回。返回值: 返回参数j的绝对值结果。范例:#ingclude main(){int ansert;answer = abs(-12)转载 2016-09-26 10:50:38 · 296 阅读 · 0 评论 -
自定义简单的播放器
如果我只是简单的播放一个视频,而不需要考虑播放器的界面。iOS9.0 之前使用 MPMoviePlayerController, 或者内部自带一个 view 的 MPMoviePlayerViewController. iOS9.0 之后,可以使用 AVPictureInPictureController, AVPlayerViewController, 或者 WKWebView。原创 2018-02-01 15:01:40 · 4426 阅读 · 0 评论 -
iOS动画详解
前言上次总结了多线程的用法,这次再复习下的iOS动画的东西。这次依然先是以API为主,因为好多人还是API好多的东西还不会用。然后中间穿插些例子,例子和代码文章中都会有。因为篇幅比较长,先列一下大纲。动画的继承结构CAAnimation{ CAPropertyAnimation{ CABasicAnimation{原创 2018-02-01 15:04:51 · 268 阅读 · 0 评论 -
App打包上架流程
配置工程打开你项目工程 第一步,这里不能选择模拟器,选择iOS Device如果不支持横屏,把这2个勾去掉然后查看版本号和构建版本号然后配置发布证书然后,如果这里没有黄色叹号,代表你的配置没问题,如果有,那就是证书和描述文件不匹配,或者描述文件里刚才选的Bundle和现在的工程的Bundle Ide原创 2018-02-01 15:22:33 · 1808 阅读 · 0 评论 -
基于 CoreText 实现的高性能 UITableView
引起UITableView卡顿比较常见的原因有cell的层级过多、cell中有触发离屏渲染的代码(譬如:cornerRadius、maskToBounds 同时使用)、像素是否对齐、是否使用UITableView自动计算cell高度的方法等。本文将从cell层级出发,以一个仿朋友圈的demo来讲述如何让列表保持顺滑,项目的源码可在文末获得。不可否认的是,过早的优化是魔鬼,请在项目出现性能瓶颈再考虑转载 2018-02-02 17:57:50 · 310 阅读 · 0 评论 -
iOS开发经验总结(三)
101、将tableView滚动到顶部123[tableView setContentOffset:CGPointZero animated:YES];或者[tableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];原创 2018-02-02 14:36:55 · 262 阅读 · 0 评论