- 博客(70)
- 收藏
- 关注
原创 gitLab相关命令
4)子模块(submodule)相关操作命令。2)分支(branch)操作相关命令。3)版本(tag)操作相关命令。1) 远程仓库相关命令。
2023-05-30 14:37:40
2243
原创 iOS 性能优化方案-启动优化
从功能上梳理出哪些是首屏渲染必要的初始化功能,哪些是 App 启动必要的初始化功能,而哪些是只需要在对应功能开始使用时才需要初始化的。通常情况下,耗时较长的方法主要发生在计算大量数据的情况下,具体的表现就是加载、编辑、存储图片和文件等资源。每个库本身都有依赖关系,苹果公司建议使用更少的动态库,并且建议在使用动态库的数量较多时,尽量将多个动态库进行合并。main() 函数开始执行后到首屏渲染完成前只处理首屏相关的业务,其他非首屏业务的初始化、监听注册、配置文件读取等都放到首屏渲染完成后去做。
2023-05-30 14:07:05
1398
原创 iOS 性能优化方案-弱网优化
但 WebP 是一种有损压缩。弱网情况下,在一些不影响操作,并能通过简单文字的描述告知用户该区域的内容,可以不加载图片,待到网络流畅状态再进行图片的加载。像一些多模块,模块之间相关联的复杂页面,多个模块会有多个请求,当某个请求失败需要添加“重新加载”的按钮时,建议所有请求重新请求一遍,防止模块之间关联的数据出现偏差,或者 UI 布局错乱。以用户等待容忍度不超过 2s 为原则,像首页这种多个业务模块一起呈现的页面,如果一次性请求完所有的接口数据,会等待很久,所以可以对多子模块,进行分段的“延迟”请求。
2023-05-30 14:06:24
2613
原创 iOS 性能优化方案
批量传输,比如,下载视频流时,不要传输很小的数据包,直接下载整个文件或者一大块一大块地下载。从功能上梳理出哪些是首屏渲染必要的初始化功能,哪些是 App 启动必要的初始化功能,而哪些是只需要在对应功能开始使用时才需要初始化的。每个库本身都有依赖关系,苹果公司建议使用更少的动态库,并且建议在使用动态库的数量较多时,尽量将多个动态库进行合并。在不需要检测的场合,应该及时关闭这些硬件。对象的创建和销毁、对象属性的调整、布局计算、文本的计算和排版、图片的格式转换和解码、图像的绘制(Core Graphics)
2023-05-30 14:02:15
1446
原创 微信小程序授权登录
服务器利用用户对应的 session_key 使用相同的算法计算出签名 signature2 ,比对 signature 与 signature2 即可校验数据的完整性。//部分结果,如果为true,则表示该用户对这项权限以及授权,如果没有授权,我们这需要通过button按钮让用户授权。当开发者在实现自定义登录态时,可以考虑以 session_key 有效期作为自身登录态有效期,也可以实现自定义的时效性策略。点击按钮,调起授权页面。调用wx.getSetting来判断,用户是否授权,如果没有授权,
2023-05-30 13:58:18
6352
2
原创 一些学习资料链接
组件化和CocoaPodsiOS 组件化的三种方案_迷曳的博客-CSDN博客CocoaPods 私有化iOS组件化----Pod私有库创建及使用 - 简书CocoaPods1.9.1和1.8+ 使用 出现CDN: trunk URL couldn't be downloaded: - 简书cocoapod制作私有库repo - 简书【ios开发】 上传更新本地项目到github上 - 简书解决github打不开的方法(亲测有效) - 知乎gitlabgitlab常用的
2023-05-30 11:53:43
774
原创 SHA256、AES256加密
NSTimeZone * zone = [NSTimeZone timeZoneForSecondsFromGMT:[NSTimeZone systemTimeZone]]; NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; formatter.timeZone = zone; [formatter s...
2018-03-27 16:05:55
6623
原创 证书相关注意问题
1.证书放的位置最好不要随便动2.自己搭建的推送服务器需要推送证书导出的P12证书,服务器需要这个P12证书的密码,两边必须密码一致才能推送 通过使用pushMeBaby第三方在mac本地测试远程推送,验证推送证书是否有效(貌似只能验证测试环境的) 这是详情:https://blog.csdn.net/u013263917/article/details/548832733.证书一年过...
2018-03-27 15:47:51
272
原创 自定义排序
#import "BaseViewController.h"@interface SortTableCellVC : BaseViewController@property (nonatomic, copy) NSString *domainId;@property (nonatomic,copy) void (^changeSortCellBlock)(NSString *domainId);@...
2018-03-26 10:37:24
279
原创 判断是否开启相机相册、定位权限并去系统开启权限
#import <Foundation/Foundation.h>typedef NS_ENUM(NSInteger, ChosePhontType) { ChosePhontTypeAlbum, //相册 ChosePhontTypeCamera //相机};@interface AuthorityManage : NSObject@property (nonato...
2018-03-26 10:20:57
2733
转载 XCode8.3.3更新失败
在Appstore上更新Xcode8.3.3一直更新不下来,更新系统之后也不行,一直要我 输入appid的密码,最后导致电脑卡死,简直无法忍受。后来直接在开发者中心下载安装包才成功。下面放出下载的步骤:进入苹果开发者中心页面,拖到页面底部点击Downloads;进入到下载页面,不要点击该页面的xcode的download按钮,这里会进入到ituns页面,最后
2017-07-23 18:55:14
2242
原创 iOS主流个人主页随滚动可缩放头图
效果是向上滚动图片变窄,向上滚动图片不变自定义头部#import <UIKit/UIKit.h>@interface ZoomHeaderView : UIView- (void)updateHeaderImageViewFrameWithOffsetY:(CGFloat)offsetY;@end#import "ZoomHeaderView.h"@interface ZoomHeaderView
2016-06-29 14:08:54
691
原创 本地闹钟
#import <Foundation/Foundation.h>@interface LocalNotificationManager : NSObject+ (instancetype)sharedInstance;/** * registerLocalNotification */- (void)registLocalNotification;/** * createLocalN
2016-06-13 14:26:24
409
转载 iOS获取UUID,并使用keychain存储
UDID被弃用,使用UUID来作为设备的唯一标识。获取到UUID后,如果用NSUserDefaults存储,当程序被卸载后重装时,再获得的UUID和之前就不同了。使用keychain存储可以保证程序卸载重装时,UUID不变。但当刷机或者升级系统后,UUID还是会改变的。但这仍是目前为止最佳的解决办法了1.新建一个工程,看一下自己的Bundle Id.这个Bundle Id 要和你用
2016-06-13 10:57:42
425
原创 解决 iOS NSDictionary 输出中文字符”乱码”(Unicode编码)问题
简单定义一个字典,输出结果:NSDictionary *dic = @{ @"我是中文字符": @"223333", @"aaa": @{ @"aaa": @"啦啦啦" }
2016-06-12 16:39:38
1030
原创 日期相关
1、时间设置//实例化一个NSDateFormatter对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //设定时间格式,这里可以设置成自己需要的格式 [dateFormatter setDateFormat:@”yyyy-MM-dd HH:mm:ss”]; //用[NSDate date]可以获取系统当
2016-06-12 16:20:59
323
原创 不能修改“System Roots”钥匙串
下载的ios_development.cer 文件添加不到钥匙串双击提示 :不能修改“System Roots”钥匙串。若要更改根证书是否会被信任,请在“钥匙串访问”中打开它,然后修改它的信任设置。新根证书应被添加到当前用户的登录钥匙串,如果它将被这台机器的所有用户共享,则应被添加到系统钥匙串。 解决办法:钥匙串访问的界面左侧,选择“登录”或login按钮,直
2016-05-24 16:45:10
2279
转载 canOpenURL: failed for URL
如图是在启动一个 Xcode 7 + iOS 9 的 App 之后,控制台的输出。这在 Xcode 6.4 + iOS 8 时,是不会有的情况,原因是【为了强制增强数据访问安全, iOS9 默认会把所有从NSURLConnection 、 CFURL 、 NSURLSession发出的 HTTP 请求,都改为 HTTPS 请求:iOS9.x-SDK编译时,默认会让所有从NSURLC
2016-05-16 13:51:48
2435
原创 真机测试时,在iPhone6S上运行时状态栏字体变大
这种情况的 App 在 iPhone 6上应该也存在相同的问题。在iPhone 6s上状态栏字体变大是因为没有添加 iPhone 6s 需要的 Launch image,所以显示的时候就自动进入Scale Mode 使用iPhone 5s 也就是4寸屏的 Launch Image。解决办法:添加iPhone 6 及 6s需要的 750尺寸的图。iPhone Po
2016-05-16 11:31:26
2859
转载 iOS版本更新的App提交审核发布流程
版本更新的App和新App的发布提交流程略有不同,新的App需要在开发者账号里准备发布证书,添加App的id,关联描述文件等等,这些可以不会的可以百度。在这里只说这些证书都有的情况下的版本更新App的发布过程:1.首先保证你的电脑上面已经有了开发者账号上面的证书和描述文件,如果没有下载证书和关联文件,但是这个时候有了第一个坑,你的App可能之前是在公司其他工程师的电脑上发布的,或者是外包公
2016-05-16 11:24:42
489
转载 iOS代码量统计
在网上搜到几种统计源代码行数的方法:1、打开终端。2、cd到你项目的路径。3、输入如下命令:a) 统计整个工程的所有文件的代码量以及总量find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.h" -or -name "*.rss" ")"
2016-05-16 11:22:09
421
转载 iOS使用自定义字体
1.将准备好的字体文件加入项目中2.打开Build Phases—Copy Bundle Resources,确保刚添加的字体文件在列表中,否则需要手动加到这里3.编辑Info.plist文件(1)添加字段Fonts provided by application(2)将加入的字体名连同扩展名填在这里4.在Mac下双击字体文件,在标题栏中找到字体的fon
2016-05-16 11:19:42
267
原创 iOS8下,cell分割线右移
在iOS 7 中,我们可能会这样设置UItableview,把分割线右移的问题解决掉。#ifdef __IPHONE_7_0 if ([tableView respondsToSelector:@selector(separatorInset)]) { [tableView setSeparatorInset:UIEdgeInsetsZero]; }#endif但是
2016-05-16 10:02:46
281
原创 clang: error: no such file or directory: "xxxxxx" clang: error: no input files
当导入的文件删除或者移动位置之后,xcode重新编译会报错clang: error: no such file or directory: "xxxxxx" clang: error: no input files解决办法:在Targets-->Build Phases-->Compile Sources中删除未发现的文件名,再次编译通过
2016-03-24 09:13:11
5203
原创 XML数据包网络请求
刚来的这家公司项目后台数据是XML,数据请求是是发送XML数据包到后台,在网上找了半天都没有满意的,自己用原生的和AFNetworking试了一下。原生的代码如下:NSString *urlString = [NSString stringWithFormat:@"http://xxxxxx"]; NSMutableURLRequest *request = [[NSMutableURLRe
2016-03-20 19:26:26
541
原创 Assigning to 'id<xxxxDelegate>' from incompatible type 'xxxxViewController *const __strong'
提示把错误的类型赋值给xxxxDelegate处理方法:在.h头文件后添加缺少的delegate@interface xxxxViewController ()
2016-03-01 14:15:29
584
原创 @synthesize obj = _obj
我们在进行iOS开发时,经常会在类的声明部分看见类似于@synthesize window = _ window; 的语句,那么,这个window是什么,_ window又是什么,两个东西分别怎么用,这是一个比较基本的问题,也关乎我们理解Objective-C中对类、类的属性、类的存取器、类的局部变量的统一理解。
2016-02-26 11:12:12
245
原创 状态栏隐藏setStatusBarHidden不起作用
在info.plist中添加字段View controller-based status bar appearance并且把值设定为NO,就可以在程序中自由控制状态栏的隐藏和显示了。
2016-02-24 15:21:18
1076
原创 去掉xcode编译warning:ld: warning: directory not found for option:xxxxxx 的方法
这种警告,通常是由于添加了第三方SDK,但是后来改了SDK的名字或者去掉了SDK,但是在Build Settings----->Search Paths----->Library Search Paths 中仍然没有删除掉对应的路径,所以需要到Library Search Paths和Framework Search Paths中删除掉警告的路径
2016-02-19 16:49:07
380
原创 Multiple build commands for output file
在导入的资源文件出现同名文件,也就是外部资源引入重复,编译时就会出现这样的警告;因为ios机制,所有copy的资源都放置在根目录下。解决方法:1.删除警告的资源文件,要从工程中删除。(切记,同一个资源不可重复引用到工程中)2.重新添加资源文件,要从工程中添加。3.最好,再删除资源后,先Clean 一下项目。
2016-02-19 16:20:08
383
转载 iOS开发证书无效解决办法
一来所有的证书都无法使用了,显示“此证书的签发者无效”,并且打包就提示错误 查了才知道是Apple Worldwide Developer Relations Certification Authority Intermediate Certificate证书过期了。解决方法: 1. 下载https://developer.apple.com/certi
2016-02-16 17:00:21
4450
原创 UITableView详解
#import "ViewController.h"@interface ViewController () <UITableViewDataSource, UITableViewDelegate>@property (nonatomic, strong) UITableView *tableView;@property (nonatomic, strong) NSMutableArray *da
2016-02-16 15:38:46
1738
转载 iOS项目的国际化
转载自:http://www.jianshu.com/p/5ae148570b981.使用InfoPlist.string为你的应用名、权限提醒等配置信息做国际化大家都知道,我们使用Localizable.strings文件为代码中的字符串做国际化,但是实际上还有InfoPlist.strings。系统会自动识别InfoPlist.strings来对项目的一些配置信息做国际化,例如
2016-02-15 11:26:57
4531
转载 适配iOS9
转载自:http://blog.sina.com.cn/s/blog_adb19b690102vvlm.html一、iOS9 bitcode首先最大的问题就是坑货xcode7,xcode7默认是打开bitcode的,bitcode是苹果为了解决他自己以后的应用可以随意更换硬件的处理做的准备也就是arm指令集和x64指令集的问题那么我们的工程如果你采用了别人封装的第三方库,那么好了,
2016-02-15 10:40:31
316
转载 验证数字的正则表达式集
验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证数字和小数点:^[0-9]+([.]{0}|[.]{1}[0-9]+)$验证零和非零开头的数字:^(0|[1-9][0-9]*)$验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$验证有1-3位小数的正实数:^[0-9]+
2016-02-01 16:26:38
256
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人