iOS
文章平均质量分 66
wokenshin
喜欢篮球 动漫 旅行 音乐 绘画
展开
-
自定义弹窗——keyWindow和delegate.window
之前的自定义弹窗总是添加到keyWindow上,一直屡试不爽。最后遇到了一个bug。bug描述:1、在系统弹窗出现【之后】,添加到keyWindow上的视图【会】随着弹窗的消失而消失。2、在系统弹窗出现【之前】,添加到keyWindow上的视图就【不会】随着弹窗的消失而消失。通过上面的描述,可以看到我们可以通过2的方式来解决这个问题。但是怎样确保顺序呢?显然是不靠谱的方案。最终解决方案...原创 2019-07-07 13:46:17 · 1921 阅读 · 0 评论 -
NSBundle 获取文件路径为空
NSString *filePath = [[NSBundlemainBundle] pathForResource:@"test.m2"ofType:nil];运行后filePath是空的,但是已经把这个文件加到Xcode中了,上网查了下发现由于当时是直接拖进去的,没有添加到资源文件路径,需要采用add file to 方式添加文件。但是这样有时也会因为Xco转载 2017-04-11 11:50:05 · 1135 阅读 · 0 评论 -
IOS 推送(本地推送、远程推送、三方推送[极光推送])
1.本地推送关于本地推送的作用及意义:【后期完善】实现步骤大致4步:1创建通知、2注册通知、3实现函数、4删除通知注意! 下面的内容中没有提到:在使用通知的时候,为了避免重复注册:最好在生命周期的函数中进行 注册 和 删除通知如下://注册通知- (void)viewWillAppear:(BOOL)animated{ 、、、、、}原创 2015-12-16 18:21:40 · 3326 阅读 · 0 评论 -
验证码 倒计时 后台可计时
如果能让线程在后台一直运行也可以解决这个问题。前提是你要在应用中设置支持相关的操作。这样显得有些杀鸡用牛刀。我的思路:当应用进入后台的时候记录下当前的时间A,进入前台后再记录当前的时间B,计算他们的时间差,然后再用倒计时剩下的时间减去这个时间差。结果大于0就继续倒计时,否则就结束倒计时。代码如下:@interface LoginVC ()@property (weak, nonatomic) IB原创 2016-09-06 15:55:30 · 1282 阅读 · 0 评论 -
解决 按钮响应延时[UIScrollView 和 UITableViewCell 中的子视图触摸事件延时]
概括:总的来说,就是你需要重写你的滚动视图 或者UITableViewCell类,实例代码在文章末尾。 场景:一个按钮放在UIScrollView里 或者 UITableViewCell里时,点击按钮 发现按钮的高亮状态延时,如果迅速的触摸一下按钮 甚至不回看到按钮的高亮状态。 原因:UIScrollView:1、属性delaysContentTou转载 2016-06-01 10:57:44 · 2644 阅读 · 0 评论 -
cocoaPods 1.1.0 使用
其实英语好的 直接看官网的介绍也可以的 https://guides.cocoapods.org/using/the-podfile.html关于怎么安装 怎么修改源什么的 大家百度吧一大堆的。如何使用cocoaPods: 在1.1.0之前的版本就不做介绍了, 语法和1.1.0是由区别的 所以更新了 cocoaPods之后还是需要做一些细微的修改的。主要是修改你的Pod原创 2016-06-14 18:45:11 · 3033 阅读 · 2 评论 -
Xib 中 给UIScrolleView设置ContentSize
题外话:在初学IOS的时候,我是使用的纯代码布局。刚开始的时候并没有发现哪里不对。后来在实际开发的时候,发现这样纯代码的布局开发效率非常低,而且后期维护的时候时间久了很多代码又要重新再看再理解一遍,很浪费时间。纯代码的布局通常是运用在动态布局或者是一些xib界面很难实现的布局中使用比较好。而大多数的界面基本上都是可以用xib来实现的。这样的界面如果再采用纯代码的方式去构建的话就很浪费时间了,综上,原创 2016-08-18 12:01:13 · 10151 阅读 · 5 评论 -
NSString 常用 整理
判断是否包含某个字符串主要用到三种方法来判断:1. rangeOfString 是否包含2. hasPrefix 是否在前缀包含3. hasSuffix 是否在末尾包含//判断字符是否包含某字符串; NSString *string = @转载 2016-08-05 01:48:08 · 391 阅读 · 0 评论 -
APNS 自定义铃声【极光推送】
IOS APNS自定义推送铃声 是推送给苹果服务器时 将 推送的 key = sound 的value = @“custom.xxx”。自定义铃声支持几种固定的格式。本人只以.caf为例讲解。概述:首先你需要将自己的铃声转换为.caf格式,然后将这些音频文件导入工程,最后后端在发送推送的时候 将推送铃声的key的value设置问自定义铃声.caf即可音频播放时长限制为30s内。原创 2016-08-15 16:09:19 · 3431 阅读 · 0 评论 -
无法导出p12证书的问题解决办法
本文来自 http://ask.dcloud.net.cn/article/235【我通常是重新获取下证书的CSR文件 然后重新创建证书并下载即可导出p12了】有关苹果无法导出p12 证书的问题解决办法:很多人刚接触苹果证书的时候感觉很复杂,大部分原因是因为都纯英文,然后再个加上步骤繁琐导致很多同学都不知所措,就算是出了问题也不知道从何查起。这篇文章不是申请证书的教程,转载 2016-07-28 19:47:31 · 19221 阅读 · 0 评论 -
如何从项目中移除CocoaPods(译)
摘要: 原文地址:How to remove CocoaPods from a project? 使用CocoaPod管理第三方代码是非常方便的,但是当不需要使用的时候,删除起来就非常麻烦,这里我根据国外朋友的方案翻译了一下。不足之处望见谅。 操作步骤 删除本地文件(Podfile、Podfile原文地址:How to remove CocoaPods from a project?转载 2016-06-21 11:00:58 · 6349 阅读 · 0 评论 -
UISearchController IOS8之后推荐使用的搜索控件
百度 IOS搜索栏 你会找到很多关于IOS8之前的搜索实现demo和案例。当前官方已经不推荐了,既然如此 就是用官方推荐的吧。致于优点什么的 自己百度吧。如果你觉得无所谓可以忽略我的废话。代码中也有说明的[细节住处注意红色的代码]。需要特别说明一下,在我测试的时候出现了一个bug:当我的搜索栏处于编辑状态的时候,我切换了控制器。直接导致搜索栏显示在我切换后的控制器的界面上了。对原创 2016-06-02 15:16:08 · 2574 阅读 · 0 评论 -
iOS 清除通知中心收到的APNS通知
下面内容转载自:http://blog.csdn.net/zzzzzdddddxxxxx/article/details/42265393我在测试的时候用的第一个方法就搞定了从通知中心移除通知的三种方法:1.将app的BadgeNumber设为0,就是app图标右上角那个[[UIApplication sharedApplication] s转载 2017-04-27 13:22:51 · 2476 阅读 · 0 评论 -
IOS 倒计时 按钮
1.写在前面[可以不用看]:关于从前到现在写倒计时按钮的一些经历最初:写的倒计时按钮就是用timer实现的,然后在周期触发的函数里面将记录的秒数 _second--, 这样做是可以解决简单的需求的。但是如果App在倒计时的时候进入到后台。此时倒计时的timer就不会执行了。只有当App重新从后台切换到前台的时候 timer才会继续执行。这样记录的时间显然就错了。因为没有减去中间在后台的那部原创 2017-05-18 15:08:16 · 1107 阅读 · 0 评论 -
iPhone记录 待更新
自制表格,记录时间、产品、型号、像素、尺寸、突出功能 等原创 2019-02-15 11:16:09 · 345 阅读 · 0 评论 -
Xcode自动补全失效问题[转]
退出 Xcode找到 这个 DerivedData 文件夹 删除 (路径: ~/Library/Developer/Xcode/DerivedData)删除这个 com.apple.dt.Xcode 文件 (路径: ~/Library/Caches/com.apple.dt.Xcode)作者:冰淇淋太烫来源:CSDN原文:https://blog.csdn.net/sinat_29...转载 2019-01-03 09:30:42 · 1565 阅读 · 0 评论 -
IQKeyboardManager 的简单使用
1、将工具栏弹出的 Done 改为 “完成“ 2、禁用特定控制器使用IQKeyboardManager1、如图设置国际化即可 2、如下[[IQKeyboardManager sharedManager].disabledDistanceHandlingClasses addObject:[FXWChatVC class]];[[IQKeyboardManager shared...原创 2018-09-06 22:14:16 · 1699 阅读 · 0 评论 -
web端vue.js 交互iOS
form:http://mengyujing.com/vue%E9%A1%B9%E7%9B%AE%E4%BD%BF%E7%94%A8WebViewJavascriptBridge/方法一:用 funcTest(xxx://aaa&bbb&ccc) 这种方法最简单,多个参数之间约定间隔字符串就好了,iOS端监听 xxx 协议即可 这里需要使用到:#pragma mar...转载 2018-09-03 16:33:46 · 424 阅读 · 0 评论 -
Application Loader无法登录->修改网络代理配置即可
问题如图解决办法: safari -> 偏好 -> 高级 -> 更改设置-> 取消勾选 网页代理(HTTP)、安全网页代理(HTTPS)如果当前的代理设置情况就是没有勾选的,那么 如果有勾选【自动代理配置】 也取消掉对改选项的勾选即可原创 2017-10-10 15:06:58 · 1116 阅读 · 0 评论 -
iOS 审核 被拒 及 解决
1、使用了安卓的图标。。。2、审核的APP是绑定智能设备的App,需要在审核的时候给出演示视频的网络地址3、上传的App使用了一些敏感词,如【中国移动】、【遵义】等4、审核人员不知道怎么使用电商类的一款APP,这款APP需要和另外发布的一款APP配合使用,这里也是给出了演示视频的地址5、【微信登录】被拒绝,原因是审核那边没有安装微信,点击微信登录的时候弹框提示了用户安装微信后...原创 2016-05-03 14:45:11 · 7544 阅读 · 2 评论 -
iOS打包生成ipa的几种方式
写在前面,内容大致转载自 http://www.cnblogs.com/wengzilin/p/4601684.html 感谢大神分享。其中使用iTunes的方式已经无法使用。 推荐使用最后一种方式生成ipa1.通过xcode来打包 这是最原始的方式。具体的百度一下就有了2.当我们打包生成的不是ipa,而是.app文件时,应该如何拿到其中的ipa呢,下面有三种方式2.1通过iTunes(过时转载 2017-09-27 14:39:18 · 8886 阅读 · 0 评论 -
iOS SDK的设计与实现
**写在前面,本文并不详细描述具体如何创建.a文件, framework,以及如何使用workspace将SDK与测试项目关联方便 SDK单元测试。 因为下文提供的网络资源中都包含在内了。希望小伙伴们自行查阅。下文只讲述一个整体大致流程 和一些个人经验。稳重提供的网站都很重要 其中也包含了一些相关的细节描述,这里就不做过多赘述了。跟着本文 相信一定可以搭建好自己的框架的。个人推荐使用framewor原创 2017-09-13 17:26:27 · 3616 阅读 · 0 评论 -
APP 搜索靠前 因素
APP 搜索靠前 因素:[通常 自己在发布app的时候 在iTunes 设置好关键词 程序员的任务就over了]本质上讲 这个根苹果市场自己的搜索算法有关,一下只是尽量迎合它。app自身设置的关键词(这个不是决定因素,因为同类app都会设置类似关键字,换言之 大家都设置了,所以优先级都是一样的)aap的下载量 (这个可以花钱找人下载,或者其它方式)app原创 2016-05-09 11:11:23 · 595 阅读 · 0 评论 -
oc基础(部分)
内容转载自 宏创学院3-const关键字如果不想让某些变量的值改变,可以使用const关键字来修饰这些变量,如果添加const关键字,这些变量的值从头到尾都不会改变了。在iOS开发中,经常把字符串常量添加const关键字,从而替代宏(#define),因为const的执行性能要比宏定义要高。1、const介绍给变量添加const关键字,主要目的是转载 2016-04-21 14:41:43 · 515 阅读 · 0 评论 -
ios 音频
ios中 主要有两种音频类型,短音(如短信铃声,音效等 播放时长在30s内),长音(如歌曲等)音效框架:AudioToolbox.framework音乐框架:AVFoundation.framework注意:如果要想在播放音乐时app进入后台后仍然能够继续运行(播放音乐)需要做如下几步操作: 1,在Appdelegate.m中实现如下方法内容 2,在在 Cap原创 2016-05-17 10:35:28 · 368 阅读 · 0 评论 -
frequent code on IOS
#import #import //获取手机屏幕的宽、高#define screenWidth [[UIScreen mainScreen] bounds].size.width#define screenHeight [[UIScreen mainScreen] bounds].size.height//字体颜色 为蓝色==帮助页面的背景色#define原创 2016-03-25 19:39:39 · 361 阅读 · 0 评论 -
IOS 获取deviceToken
1.下载或创建并下载当前项目的证书(测试证书 或 发布证书),然后双击它即可安装。 注意在创建证书时一定要选中它的推送选项。如图:2.下载或创建并下载当前项目的配置文件,然后双击安装,如图3.在项目的build setting中 设置配置文件,如图4.最后在Appdelegate通过代码想APNS请求 获取设备的deviceToken,这里原创 2016-02-24 10:37:14 · 3891 阅读 · 0 评论 -
UIViewController的生命周期及iOS程序执行顺序
当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序1、 alloc 创建对象,分配空间2、init (initWithNibName) 初始化对象,初始化数据3、loadView 从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图转载 2016-03-26 23:54:47 · 309 阅读 · 0 评论 -
漫谈iOS程序的证书和签名机制
非对称加密和摘要 文章转自 首先解压ipa如果mobileprovision需要替换,替换如果存在Frameworks子目录,则对.app文件夹下的所有Frameworks进行签名,在Frameworks文件夹下的.dylib或.framework对xxx.app签名重新打包iOS设备如何验证app是否合法关键的几个点:解压ipa取出embedded.mo转载 2015-12-21 10:42:45 · 1376 阅读 · 0 评论 -
IOS 启动动画和适配
实现启动动画的方式这里提供三种1.LaunchImages.xib______创建项目的时候现在回默认生成一个叫launchIma之类的xib文件,这个文件可以用来做应用的启动动画。如果用那种方式就自己百度吧。2.如下图,这里需要设置多张不同分辨率的图片来和不同尺寸的iPhone的手机进行适配以下是对应设备的图片的分辨率3.用控制器来实现,其实还有别的方原创 2015-12-15 14:15:03 · 833 阅读 · 0 评论 -
iOS开发-Certificates、Identifiers和Profiles详解
文章内容转自大神 http://www.cnblogs.com/xiaofeixiang如果是才进入公司进行开发的iOS程序猿来说人难免会对苹果的证书、配置文件,尤其有的需要重头开始的公司来说,最简单的来说真机调试是免不了和这些东西打交道的,有的时候赶时间做完了可能心里也犯嘀咕,本文根据个人经验对Certificates、Identifiers和Profiles做下简单的介转载 2015-12-14 11:03:07 · 2604 阅读 · 0 评论 -
解决Xcode 9.2系统真机测试时出现 could not find developer disk image问题
大致原因是因为xcode中没有 当前设备系统版本的配置包文件,网上有一些解决的办法是在指定的路径里面放上缺少的配置包文件。其实没有必要这样做,只需要升级你的xcode到7.2即可。每次IOS系统升级,通常就会有 提示Xcode需要升级,所以直接升级你的xcode。也许顺便你还得先审计的的MacOS原创 2015-12-14 13:37:11 · 1149 阅读 · 0 评论 -
UIScrollView 基本使用 和 循环播放(NSTimer)
以下的代码其实也是存在很多不足的,但刚开始学习的时候可以拿来作为参考,后期有很好的开元库直接拿来使用。需求:在界面上循环播放几张固定大小的图片,也可以通过手势滑动切换图片思路: 1,代码实例化UIScrollView(也可以通过故事版或者xib来创建UI,但本文内容只讲解代码实现的情况) 2,for循环创建UIImageV原创 2015-12-14 10:44:15 · 395 阅读 · 0 评论 -
IOS SDK不支持64位,编译报错,解决办法
注意!如果SDK不支持64位 最终产品要上架的话 必须要支持 不然会被拒绝!所以,当不是为了上架为最终目的的时候,可以采取以下方式来解决,否者就不用往下看了。SDK不支持就联系相关技术人员让其更新其SDK以下是SDK不支持64位又想打包的解决办法如果编译报如下错误,可以设置如下属性即可通过综上,工程将可以在5s级以上的设备中运行(64),之前的设备是32原创 2015-12-14 10:40:33 · 2902 阅读 · 0 评论 -
扩大UIButton响应区域[按钮内有图片]
其实最好是用 UIControl来实现不推荐下面的实现方式,重写Button 可能也是个不错的方法,本人还没使用过3种实现方式:建议重写button实现或者改用UIControll替换1:重写Button 自己写一个类继承它,然后重写里面的两个函数-(CGRect)imageRectForContentRect:(CGRect)bounds{ return原创 2015-12-11 18:30:14 · 854 阅读 · 0 评论 -
IOS“吐司”和 代理的设计模式
类似安卓的吐司:(包含动画、圆角,UILabel)UILabel *label = [[UILabel alloc] init];label.text = [NSString stringWithFormat:@"成功下载%@", self.app.name];label.font = [UIFont systemFontSize:12];l原创 2015-09-15 12:10:07 · 530 阅读 · 0 评论 -
IOS 禁止横屏、键盘的隐藏、键盘出现时上移后面的视图
目录:1.IOS禁止横屏2.对键盘的隐藏——点击空白处隐藏、点击return键隐藏、3.键盘出现时,后面的视图整体上移的方法1.IOS禁止横屏在AppDelegate中增加,这个方法可以禁止横屏- (NSUInteger)application:(UIApplication *)application supportedInt原创 2016-03-26 23:49:47 · 1972 阅读 · 0 评论 -
iPhone系统功能
震动当需要手机震动(震动一下)时,可以调用如下函数,注:当手机侧面的震动开关开启时才有效,未开启则无影响。需要引入AudioToolbox框架#import "AudioToolbox/AudioToolbox.h"AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);iOS中如何监原创 2016-03-26 23:55:38 · 604 阅读 · 0 评论 -
Xcode 报错及解决办法汇总
说明:下面是本人在使用Xcode时报的一些错误,直接搜索关键字,也许会有收获。红色:报错内容绿色:解决办法真机测试的时候 编译通过,运行时终端并显示弹出框提示The identity used to sign the executable is no longer valid.原创 2016-03-26 23:59:48 · 15011 阅读 · 2 评论 -
xcode上传项目到 AppStore 注意事项:
如果你在打包 或者在 上传的时候报错了,多半是由于证书没有配置好的原因,也有网络问题出现的情况。bundle Identifier 里面的名称一定要和 开发者网站中的 APPID 一致team 记得要和自己的团队一致 如果没有 可以选择 none 或者 个人这里的 Provisioning Profile 和 code Signing Identif原创 2016-04-28 15:32:29 · 1868 阅读 · 0 评论