iOS_应用
xiao_yuly
努力的人,运气不会太差
展开
-
iOS 卡顿优化实践
优化卡顿,将APP的用户体验做到极致,在一定程度上能够提升用户的忠诚度和APP的市场占有率。原创 2022-11-02 19:21:21 · 243 阅读 · 1 评论 -
Xcode 14 pod 签名报错的解决方案
在使用Xcode 14进行pod install 后,库里有bundle资源文件则会在编译时报错,报error:“igning for “xxxxx” requires a development team. Select a development team in the Signing & Capabilities editor.”以上方案来源于:https://github.com/CocoaPods/CocoaPods/issues/11402。原创 2022-09-17 10:35:15 · 5019 阅读 · 0 评论 -
iOS系统设置粗体文本后UIButton的宽度错误
在iPhone设置->辅助功能->显示与文字大小里面打开“粗体文本”开关后,UIButton的sizeToFit宽度计算错误,出现text显示不完整的问题。打印button的宽度,正常模式和粗体文本模式宽度一直。解决方案:来源:https://developer.apple.com/forums/thread/125492Swift:button?.titleLabel?.lineBreakMode = .byClipping OCbutton.titleLabel.lineBre原创 2021-09-26 14:21:47 · 1550 阅读 · 0 评论 -
iOS Pod私有库生成中BUG解决方法
在生成pod私有库时,报错如下: - ERROR | [iOS] unknown: Encountered an unknown error (/usr/bin/xcrun simctl list -j devicesxcrun: error: unable to find utility "simctl", not a developer tool or in PATH) during validation.解决方法:在xcode设置里面,把Command line Tools设置一下原创 2020-05-31 14:00:01 · 509 阅读 · 0 评论 -
iOS数据存储方法总结
1.plist 2.偏好设置 3.归档 4.sqlite 5.CoreData 6.Keychain原创 2016-05-08 17:22:09 · 632 阅读 · 0 评论 -
使用safari对webview进行调试
记录:http://www.cnblogs.com/muyushifang07/p/5412956.html转载 2017-06-09 17:52:28 · 1312 阅读 · 0 评论 -
cocoapods升级1.1.1
最近因为项目迁移到xcode8上,所以对cocoapod进行了一次升级。一下记录升级过程中遇到的问题和解决方法。 查看版本的命令:pod --version 升级的命令:sudo gem install -n /usr/local/bin cocoapods --pre 设置:pod setup 一系列升级命令完成后,但却出现很多错误。 原因:没有修改gem源。 解决:gem sourc原创 2016-12-04 21:18:50 · 749 阅读 · 0 评论 -
网络请求返回数据格式
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:responseObject options:NSJSONWritingPrettyPrinted error:nil]; NSString *jsonStr = [[NSString alloc] initWithData:jsonData encodin原创 2017-06-01 16:53:34 · 1035 阅读 · 0 评论 -
iOS_Localizable.strings与Excel互相转换
在做多语言适配的时候,可能需要整理每种语言对应的值。使用excel给翻译人员,他们能方便简单的查看。记录使用的方法,方便下次查找,感谢作者的贡献。详细地址:https://github.com/CatchZeng/Localizable.strings2ExceliOS使用到的命令:1.切换到“python”目录下2.执行命令“python Localizable.py -f ../ios/ -t原创 2017-11-23 19:14:04 · 1894 阅读 · 0 评论 -
iOS11_适配总结
1.UITableView:默认开启Self-Sizing在iOS11下Headers, footers, and cells都默认开启Self-Sizing。如果目前项目中没有使用estimateRowHeight属性,在iOS11的环境下就要注意了,因为开启Self-Sizing之后,tableView是使用estimateRowHeight属性的,这样就会造成contentSize和conte原创 2017-11-27 15:52:38 · 663 阅读 · 0 评论 -
Instrument的使用
可以看到 Instruments 功能很多,这里先介绍一下我们在开发中常用到的几种:CPU 性能测试、图形性能测试、内存性能测试。本文主要介绍Time Profiler、Core Animation、Leaks的简单实用。工具通过Xcode工具栏中Product->Profile(command+i)可以启动,启动后界面如下: 在开始进行应用程序性能分析的时候,建议使用真机测试,数据会更原创 2017-03-20 15:04:30 · 1709 阅读 · 0 评论 -
iOS 根据IP获取位置
- (NSString *)getWANIP { //通过淘宝提供的服务,定位WAN的IP NSURL *ipURL = [NSURL URLWithString:@"http://ip.taobao.com/service/getIpInfo.php?ip=myip"]; NSData *data = [NSData dataWithContentsOfURL:...转载 2018-01-15 15:57:29 · 2875 阅读 · 0 评论 -
配置SSO白名单和配置URL Scheme汇总
在info.plist文件中填写需要的白名单<key>LSApplicationQueriesSchemes</key><array> <!-- 微信 URL Scheme 白名单--> <string>wechat</string> <string>weixin</stri转载 2018-03-23 14:26:09 · 1634 阅读 · 0 评论 -
Git 基本操作
Git 基本操作Git配置git config –global user.name “your name”git config –global user.email “your email”签出仓库git clone giturl [new dir name]查看远程仓库git remote -v查看远程仓库信息git remote show [remote name]添加远程仓库git原创 2016-05-13 08:28:20 · 353 阅读 · 0 评论 -
fork过来的项目,更新上游代码的方法
转载,记录# 列出远程仓库 URL$ git remote -v# List the current remotes (列出当前远程仓库)# origin https://github.com/user/repo.git (fetch)# origin https://github.com/user/repo.git (push)# 添加上游仓库URL$ git remot...转载 2018-07-25 18:37:14 · 667 阅读 · 0 评论 -
APP界面设计:移动缺省页如何设计才会内容“丰富友好”?
缺省页面,是出现在用户没有提交任何资料或者网络连接不通畅的情况下所展现的页面。通常设计师们习惯用丰富的数据内容把页面设计得美观实用,考虑的都是界面展现的“理想状态”,往往会忽视没有内容的“缺省状态”。未经过精心设计的缺省页面降低了用户的使用体验,并可能给用户带来困扰,如下图iOS系统邮件App,无邮件时界面上没有任何有效反馈信息,用户不能明确得知到底是网络问题还是账号同步出错亦或者是收件箱内确实一封转载 2017-03-22 10:20:45 · 2815 阅读 · 0 评论 -
Alipay首页刷新实现
Alipay 的新版,首页的UI和刷新控件的位置发生了变化。闲暇之余做了个类似的Demo。实现方式:UIScrollView + UITableView 。UITableView和一个topView作为UIScrollView的subView关键点:1.scrollView的Indicator的显示位置从tableView的位置开始显示_scrollView.scrollIndicatorInse原创 2017-03-17 17:24:51 · 466 阅读 · 0 评论 -
iOS 10访问相机Crash,plist权限设置
在iOS 10的上访问相机Crash,打印出以下错误信息 错误信息:This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCameraUsageDescription原创 2016-12-06 12:18:26 · 4394 阅读 · 0 评论 -
NSFetchedResultsController_查询结果控制器
用来管理查询结果的控制器,特别适合tableview显示数据以及修改数据。1) 实例化查询请求对象NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Person"]; 2) 实例化排序对象NSSortDescriptor *sort = [NSSortDescriptor sortDe原创 2016-05-31 22:02:02 · 292 阅读 · 0 评论 -
iOS监听横竖屛通知
1.发出UIDeviceOrientationDidChangeNotification 或者UIApplicationDidChangeStatusBarFrameNotification两者处理的情况不一样。[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(changeRotate:) name:U原创 2016-06-01 22:04:15 · 6667 阅读 · 1 评论 -
shareSDK注意事项
1.使用shareSDK实现分享功能 自定义文档说明:http://wiki.mob.com/简洁版更新说明-2/ 2.支持自定义分享菜单页面 SSUIShareActionSheetCustomItem *item = [[SSUIShareActionSheetCustomItem alloc] initWithIcon:[UIImage imageNamed:@"iconToolB原创 2016-06-08 17:56:18 · 383 阅读 · 0 评论 -
网络拦截和抓包
1、使用工具: 青花瓷(Charles),连接后需要把手机的网络改为和电脑的端口一致,并设置端口为8888. wireshark同样也是抓包软件。安装打开Charles时提示:“您需要安装旧 Java SE 6 运行环境才能打开“Charles”” 解决:打开链接下载javaforosx.dmg并安装。https://support.apple.com/kb/DL1572?viewlo...原创 2016-05-21 15:06:38 · 1552 阅读 · 0 评论 -
app接入支付宝后,支付成功后,回调不响应
1.在支付时使用的是[[AlipaySDK defaultService] payOrder: fromScheme: callback:^(NSDictionary *resultDic) {NSLog(@"%@",result)}]; 在跳转到支付宝客户端支付成功后,回调不响应。 解决方法: 需要在AppDelegate中添加两个方法: - (BOOL)applicatio原创 2016-09-04 16:07:17 · 11638 阅读 · 0 评论 -
iOS开发 _计算缓存大小/清理
1.获取路径:// 获取Caches目录路径- (NSString *)getCachesPath{ NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask,YES); NSString *cachesDir = [paths lastObject];原创 2016-10-15 20:37:19 · 420 阅读 · 0 评论 -
可变参数va_list
va_list list:定义一个指向个数可变的参数列表指针; va_start(list, otherString):otherString为第一个参数,也就是最右边的已知参数,这里就是获取第一个可选参数的地址.使参数列表指针指向函数参数列表中的第一个可选参数,函数参数列表中参数在内存中的顺序与函数声明时的顺序是一致的。 va_arg(list, NSString *):返回参数列表中指针所指的参数原创 2016-08-16 22:57:23 · 427 阅读 · 0 评论 -
SocketRocket实现即时通讯
1.可在github上下载,包含了demo和测试地址 https://github.com/facebook/SocketRocket2.遇到的BUG:Connection Failed:Error Domain=SRWebSocketErrorDomain Code=2133 "Invalid Sec-WebSocket-Accept response." UserInfo={NSLocaliz原创 2016-06-15 17:52:58 · 5098 阅读 · 0 评论 -
iOS热更新_无需发布新版本实现app更新
实现热更新的方法:使用FaceBook 的开源框架 reactive native使用JSpatchJSPatch 学习总结 以下内容为学习总结记录。JSPatch是实现热更新(无需发新版本实现app添加新功能)的一个框架。可以为项目动态添加模块,或替换项目原生代码动态修复 bug。比较其他的热更新方法,学习成本更低。JSPatch坐着给出的说明文档非常详细,网址:JSPatch下载地址:原创 2016-11-07 21:20:38 · 1173 阅读 · 0 评论 -
iOS单页面支持横屏的几种方法总结
1.sizeclass布局 2.单页面实现支持横屏,接受通知,改变view的布局 3.待续原创 2016-06-03 12:27:14 · 3230 阅读 · 0 评论 -
iOS二维码
生成二维码CIFilter *qrfilter=[CIFilter filterWithName:@"CIQRCodeGenerator"];扫面二维码原创 2015-11-20 22:33:45 · 424 阅读 · 0 评论 -
Core Data的使用
Core Data不是应用程序的数据库,也不是将数据持久化保存到数据库的API。Core Data是一个用于管理对象图的框架。Core Data可以把对象图写入磁盘从而持久化保存。1.Core Data stack Core Data stack是Core Data的核心,由一组Core Data核心对象组成. ➢ NSManagedObjectContext 对象管理上下文:原创 2016-05-31 21:41:51 · 314 阅读 · 0 评论 -
CocoaPods的安装和使用
1.安装1、环境配置$ gem sources --remove https://rubygems.org///等有反应之后再敲入以下命令$ gem sources -a http://ruby.taobao.org///查看是否成功$ gem sources -l2、安装cocoaPods$ sudo gem install cocoapods2、使用pod init //生成Po原创 2016-05-29 14:25:26 · 210 阅读 · 0 评论 -
Homebrew/Carthage 安装及使用
Carthage的下载地址:https://github.com/Carthage/CarthageHomeBrew/Carthage的安装及使用原创 2016-06-22 10:43:36 · 457 阅读 · 0 评论 -
正则表达式
常用的正则表达式1.验证用户名和密码:(”^[a-zA-Z]\w{5,15}$”) 正确格式:”[A-Z][a-z]_[0-9]”组成,并且第一个字必须为字母6~16位;2.验证电话号码:(”^(\d{3,4}-)\d{7,8}$”) 正确格式:xxx/xxxx-xxxxxxx/xxxxxxxx;3.验证手机号码:”^1[3|4|5|7|8][0-9]\d{8}$”;4.验证身份证号(15位或1转载 2016-11-30 21:06:04 · 378 阅读 · 0 评论 -
NSPredicate谓词
使用步骤: ➢ 定义NSPredicate对象并指定条件 ➢ 调用谓词的evaluateWithObject方法判断指定条件是否满足NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self CONTAINS '1'"];NSString *text = @"12345";NSLog(@"%d", [predica原创 2016-05-31 21:54:38 · 197 阅读 · 0 评论