
IOS
文章平均质量分 50
HaiJunYa
积极认真 好记忆烂笔头
展开
-
assetcatalog管理图片资源
AssetCatalog资产目录.xcassetsasset catalog是苹果在2014年也就是iOS7系统上引入的用于APP内资源管理的辅助文件,我们可以把之前扔到bundle或者文件夹的图片或者其他资源放入asset catalog中,由它来帮我们管理资源,除了管理上的便利意外,它还能够带来另一个很大的实惠:他能帮助我们实现APP瘦身(APP Thinning)。目前主要通过两种途径来实现瘦身:首先,使用asset catalog能为不同的平台、不同设备甚至相同类型的设备但是不同的配置(比如内原创 2020-09-17 13:26:59 · 381 阅读 · 0 评论 -
Podfile管理文件中use_frameworks!和#use_frameworks!
#use_frameworks!:配置指令处于注释,引入静态链接库二进制码(相应的 .a文件(静态链接库)),各种API来源于static libraries。Linked:libPods-xxx.a包含了其它用pod导入的第三方框架的.a文件。use_frameworks!:配置指令处于可编译,引入动态链接库二进制码(cocoapods会生成相应的 .frameworks文件(动态链接库:内容...原创 2019-08-06 00:00:13 · 5783 阅读 · 0 评论 -
真机运行提示Development cannot be enabled while your device is locked.
对电脑设置了不信任解决方案:1.设置 --> 通用 --> 重置 --> 重置位置和隐私。 弹窗提示是否信任此电脑,点击信任,重启Xcode之后,运行项目。2.拔掉数据线重插再试。...原创 2019-08-19 09:50:28 · 534 阅读 · 0 评论 -
@property中规则表(getter=leftGas,setter=accessLeftGas:)含义
原创 2019-08-16 17:43:22 · 206 阅读 · 0 评论 -
xib分析理解
一、NSbundle1.bundle(plugs-in)实例本质成员层次目录,对应托管持有着程序使用到的资源(图像/音频/编译码/nib文件等资源)。引用类NSBundle。2.目标程序本质复杂插件包集(bundle)+成员目录。在Finder中,应用程序文件表面看和其他文件没有区别,实际上应用程序文件是包含nib文件,编译代码,及其他资源的成员目录。 这个成员目录叫做程序mainBundle...原创 2019-08-26 12:09:51 · 339 阅读 · 0 评论 -
cocoapods自定义框架后版本更新
1.拖入自定义功能文件蔟2.打开xxx.podspec文件,升级版本version编号3.打开sourceTree工具,提交并推送4.打tag标签(名称即版本号)并推送5.推送pod trunk push ConvenienceKitHaris.podspec --allow-warnings使用测试:1.cd /Users/haijunyan/Desktop/tttttttttt...原创 2019-09-04 19:40:24 · 387 阅读 · 0 评论 -
class dump
类转储是一种用于检查Mach-O格式文件下objective - c程序段的一个命令行实用工具。通过class dump类转储工具可以获取到类,类别(分类)及协议的.h声明文件。由类转储工具class dump可生成相同的信息(内容等同于使用“otool-ov”工具获取到的信息),但以正常的objective - c声明文件呈现。...原创 2019-09-04 19:47:37 · 194 阅读 · 0 评论 -
解剖Session运行原理
1.Session(会话)本质是概念体系:Session会话(体系)实例堆区中存储着维持用户会话不断开所需要的一切特定属性及配置信息。通过Session会话(体系)实例可以实现服务器端保持链接不断进而实现数据转移通信存储技术。2.Session会话本身的位置是在服务器端(云服务存储设备端),本地定义相应的session成员名接收云配置信息副本。Session通常配合cookies使用,如缺失co...原创 2019-09-05 20:59:53 · 346 阅读 · 0 评论 -
CATransform旋转平移缩放动画
BDB(Bain DB Builder)是跨数据库平台的数据库设计工具、 目前版本支持的数据库平台:fsfs:一种不需要数据库的文件式存储系统。3D仿射变换动画类型同二维2D仿射变换动画一样有旋转平移缩放CATransform3DMakeScale(0.5, 0.5, 1.0); //x,y,z放大缩小倍数CATransform3DMakeRotation(1.57, 1, 1, 0);...原创 2019-09-19 19:08:12 · 703 阅读 · 0 评论 -
SVProgressHUD
//*********************************************************SVProgressHUD 使用过程:CocoaPods下载SDK代码包:SVProgressHUD2.系统库:QuartzCore.framework,Foundation.framework,UIKit.framework,CoreGraphics.framework...原创 2019-09-19 19:09:40 · 897 阅读 · 0 评论 -
获取viewController对象
(一)Model切换由viewController_A对象模态切换至viewController_B对象:viewController_A.presentedViewController =viewController_B;viewController_B.presentingViewController=viewController_A;...原创 2019-09-19 19:10:23 · 217 阅读 · 0 评论 -
the ‘10‘ App ID limit in ‘7‘ days
Unable to add App ID because the ‘10’ App ID limit in ‘7’ days has been exceeded.不能添加AppID因为超出了7天内10个AppID的限制. 也就是说苹果公司应该是对免证书真机调试做出了限制。限制7天内只允许10个app进行真机运行。//*************************需要调试的app的bundl...原创 2019-09-19 19:11:32 · 238 阅读 · 0 评论 -
原子性atomic与非原子性natomic
原子操作是不可分割的操作,在原子操作执行完毕之前,其不会被任何其它任务或事件中断。在单处理器系统(UniProcessor)中, 能够在单条指令中完成的操作都可以认为是" 原子操作",因为中断只能发生于指令之间。某些CPU指令系统中引入了test_and_set、test_and_clear等指令产生临界资源互斥效果。在对称多处理器(Symmetric Multi-Processor)结构中因为...原创 2019-09-19 19:12:02 · 573 阅读 · 0 评论 -
AutomaticallyManageSigning(AMS)
1.Xcode自动生成的证书是简化版(权限存在次数限制)2.AutomaticallyManageSigning(AMS)自动管理签名(管理账号开发者中心的签名证书(通过自构默认配置文件))3.开发者中心的签名证书采用签名自动管理过程:1.Xcode会在本地电脑端的本地钥匙串中寻找开发team团队进行真机调试/发布所需签名证书。若从本地钥匙串中顺利查找到相应的签名证书则直接加载使用。若本地钥...原创 2019-09-24 20:38:43 · 2231 阅读 · 0 评论 -
SWIFT_VERSION ‘3.0‘ is unsupported, supported versions are: 4.0, 4.2, 5.0. (in target ‘SwiftyJSON‘)
SWIFT_VERSION ‘3.0’ is unsupported, supported versions are: 4.0, 4.2, 5.0. (in target ‘SwiftyJSON’)解决方案原创 2019-08-01 18:27:37 · 1943 阅读 · 0 评论 -
dynamic关键字区别
OC语法:@dynamic:告诉编译器不要为属性合成getter和setter方法。Swift语法:用于修饰变量或函数,告诉编译器使用动态分发而非静态分发。OC最大特性动态性,Swift大部分静态特性。swift语法中用dynamic标记的变量或函数遵循动态特性,触发OC的runtime机制。(指令)静态分发性能高于(指令)动态分发。备注:某些统计应用分析统计的库需要依赖动态分发的特性,动态...原创 2019-08-01 17:55:22 · 316 阅读 · 0 评论 -
开源库注意点
原创 2019-08-01 17:31:13 · 117 阅读 · 0 评论 -
开源库流程指令soucetree提交
$ cd /Users/haijunyan/ConvenienceKitHJ$ pod lib create ConvenienceKitHJCloning https://github.com/CocoaPods/pod-template.git intoWhat platform do you want to use?? [ iOS / macOS ]iOSWhat langua...原创 2019-07-30 11:56:13 · 217 阅读 · 0 评论 -
开源库构建指令为主1
Last login: Sat Jul 20 20:59:42 on ttys000haijunyan:~ haijunyan$ pod SNYKit[!] Unknown command: SNYKitDid you mean: init?Usage:$ pod COMMAND CocoaPods, the Cocoa library package manager.Comm...原创 2019-07-30 12:06:49 · 1035 阅读 · 0 评论 -
开源库构建指令为主2
haijunyan:ConvenienceKitHJY haijunyan$ gem sources --remove https://ruby.taobao.org/https://ruby.taobao.org/ removed from sourceshaijunyan:ConvenienceKitHJY haijunyan$ gem sources -a https://ruby.ta...原创 2019-07-30 12:07:44 · 296 阅读 · 0 评论 -
开源库构建指令为主3
WriteAuxiliaryFile /Users/haijunyan/Library/Developer/Xcode/DerivedData/App-evsoeaobtfcwdhfmsklpebzofewt/Build/Intermediates.noindex/Pods.build/Release-iphonesimulator/ConvenienceKitHJY.build/Objects-...原创 2019-07-30 12:09:02 · 517 阅读 · 0 评论 -
开源库构建指令为主4
Werror=return-type -Wdocumentation -Wunreachable-code -Wno-implicit-atomic-properties -Werror=deprecated-objc-isa-usage -Wno-objc-interface-ivars -Werror=objc-root-class -Wno-arc-repeated-use-of-weak ...原创 2019-07-30 12:10:03 · 818 阅读 · 0 评论 -
开源库构建指令为主5
cd /var/folders/m3/y3_ym0zs1cqb_j8_glrlvnlr0000gn/T/CocoaPods-Lint-20190727-85161-e4xkz4-ConvenienceKitHJY/Pods /usr/bin/ditto -rsrc /Users/haijunyan/Library/Developer/Xcode/DerivedData/App-bp...原创 2019-07-30 12:10:41 · 265 阅读 · 0 评论 -
开源库构建指令为主6
CodeSign /Users/haijunyan/Library/Developer/Xcode/DerivedData/App-bptmqbwsceqwvofzlrlcrhhceajx/Build/Products/Release-iphonesimulator/Pods_App.framework (in target: Pods-App)cd /var/folders/m3/y3_ym0...原创 2019-07-30 12:11:13 · 372 阅读 · 0 评论 -
开源库构建指令为主7
Copying /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator/libswiftos.dylib to /Users/haijunyan/Library/Developer/Xcode/DerivedData/App-bptm...原创 2019-07-30 12:11:57 · 244 阅读 · 0 评论 -
SourceTree使用概念
1.提交Commit:由活性较高的临时缓存区(编码状态)提交到本地端硬盘仓库区保存(HD)。2.拉取Pull:从关联的github账号的托管平台上的众多已创建的远程仓库中导出下载(checkout/clone)一个仓库副本存放到本地端硬盘区。3.推送Push:将(编码状态)活性较高的临时缓存区源码文件提交到本地端硬盘仓库区保存并在本地端硬盘仓库区保存后自动更新到托管平台的远程仓库中(不配置ig...原创 2019-07-30 12:15:03 · 446 阅读 · 0 评论 -
iOS开发总结
子控件层占位区域处于父控件层占位区域范围之外一般正常依旧可见(若父控件层为tableview,父tableview控件占位区域范围之外的子控件不可见),只有进行superview.layer.masksToBounds = YES;指令才会不可见父区域之外子控件。若子控件层占位区域处于父控件层占位区域范围之外,所添加的手势识别工具不能成功对手势作识别,手势识别效果识别失败。bgdView.la...原创 2019-07-31 17:03:49 · 250 阅读 · 0 评论 -
swift参考文档
实际持有实例+呈现框架结构特性(实例与呈现特性一致,可访问一致特性实例下的成员变量成员函数。。。)运行时多态机制:运行时通过堆栈区地址固定常量实例对应的地址动态访问调用堆栈地址下的成员变量成员函数自定义的显式执行域实例+苹果官方的隐式执行域实例(防止开发者知晓底层代码)常量时间/线性时间:描述算法的时间复杂度。运行程序算法所费时间与输入无关,常量时间;运行程序算法所费时间与输入有关,线性时间...原创 2019-07-31 17:12:58 · 555 阅读 · 0 评论 -
用rvm切换ruby
1.查看已安装ruby版本列表rvm list2.查看当前ruby版本rvm current3.移除ruby版本rvm remove 2.2.24.查看可安装ruby版本rvm list known5.安装ruby版本rvm install ruby-2.4.16.切换ruby版本rvm use 2.4.1 --default...原创 2019-07-31 17:17:06 · 304 阅读 · 0 评论 -
Swift中convenience关键字
1.构建便捷初始化(必须指定designated调用同类中初始化完成基本字段名设置)2.class People {//备注:函数行参的核心在于类/结构而非名称var name: String//普通初始化init(name:String) {self.name = name}}extension People {//便捷初始化(必须指定designated调用同类中初始化完成...原创 2019-08-04 23:11:31 · 1466 阅读 · 0 评论 -
iOS KVC详解
KVC定义KVC(Key-value coding)键值编码,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值。而不需要调用明确的存取方法。这样就可以在运行时动态地访问和修改对象的属性。而不是在编译时确定,这也是iOS开发中的黑魔法之一。很多高级的iOS开发技巧都是基于KVC实现的。在实现了访问器方法的类中,使用点语法和KVC访问对象其实差别不大,二者可...原创 2019-08-04 23:22:52 · 907 阅读 · 0 评论 -
iOS KVC详解
KVCKVC定义KVC(Key-value coding)键值编码,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值。而不需要调用明确的存取方法。这样就可以在运行时动态地访问和修改对象的属性。而不是在编译时确定,这也是iOS开发中的黑魔法之一。很多高级的iOS开发技巧都是基于KVC实现的。在实现了访问器方法的类中,使用点语法和KVC访问对象其实差别不大...转载 2019-08-04 23:28:55 · 200 阅读 · 0 评论 -
Swift模块系统研究
Swift 中模块是什么?当写下 Swift 中一句 import Cocoa 的时候到底做了什么?1.介绍 Swift 中两种可 import 的模块2.如何用 Swift 写一个可被其他 Swift 代码使用的模块3.分析 Swift 的标准库实现方式第一部分 Clang 模块(系统模块)Clang 模块是来自系统底层的模块,一般是 C/ObjC 的头文件。原始 API 通过它们暴露...原创 2019-07-24 16:12:42 · 1415 阅读 · 0 评论