iOS 使用 fastlane 自动打包 参考链接https://www.jianshu.com/p/5d836e89d9d1https://docs.fastlane.tools/安装过程报错我们是用gem 安装一些插件时,有时会遇到报错You don’t have write permissions for the /usr/bin directory.即使我们在安装命令前加上sudo,也不行。这时我们可以使用:sudo g...
笔记 从源代码到app当我们点击了 build 之后,做了什么事情呢?预处理(Pre-process):把宏替换,删除注释,展开头文件,产生 .i 文件。编译(Compliling):把之前的 .i 文件转换成汇编语言,产生 .s文件。汇编(Asembly):把汇编语言文件转换为机器码文件,产生 .o 文件。链接(Link):对.o文件中的对于其他的库的引用的地方进行引用,生成最后的可执行文...
Charles使用 介绍Charles 是一款网络抓包分析工具,是一款收费软件,在不付费的情况下也可以使用,但是每次启动要等待 10 秒。在客户端研发过程中,如果能善用 Charles 可以很大的提高开发效率。Charles 主要有以下功能:抓取电脑端的网络请求将电脑作为代理抓取手机端的网络请求抓取 http 和 https 请求过滤网络请求模拟慢速网络黑名单功能修改网络请求映射网络请求内容断点...
swift代码规范 原文:https://github.com/raywenderlich/swift-style-guide#correctness把重点的翻译了,有些生词已经注释.我个人看没问题,期待大家阅读无障碍.Updated for Swift 4.2This style guide is different from others you may see, because the focus is ...
SSH公钥的生成和获取 创建公钥查看本地是否有公钥Windows Command Line:type %userprofile%.ssh\id_rsa.pubGNU/Linux/Mac/PowerShell:cat ~/.ssh/id_rsa.pub##如果没有就创建ssh-keygen -t rsa -C “你的邮箱全称”如:ssh-keygen -t rsa -C “ss@webull.co...
swift1.2-类型推断和类型安全和类型转换 基本数据类型基础常用类型IntFloat,DoubleBooleanStringTuple整数整数就是没有小数部分的数字,比如 42 和 -23 。整数可以是 有符号(正、负、零)或者 无符号(正、零)。Swift 提供了8、16、32和64位的有符号和无符号整数类型。这些整数类型和 C 语言的命名方式很像,比如8位无符号整数类型是 UInt8,32位有符号整数类型是 Int...
如何阅读 Swift 标准库中的源码 原文链接:https://oleb.net/blog/2016/10/swift-stdlib-source/在进行完 GYP 预处理后,阅读 Swift 标准库源码的最简单的一种方式是执行一次完整的 Swift 编译。(另一种是写一小段 shell 脚本。可以看下面的更新)如果你想要开始阅读 Swift 源码,那它的标准库应该是首先开始阅读的地方。标准库中的代码是和每一个使用 Swift ...
swift1.3-元组和可选类型 基本数据类型常用类型IntFloat,DoubleBooleanStringTuple整数整数就是没有小数部分的数字,比如 42 和 -23 。整数可以是 有符号(正、负、零)或者 无符号(正、零)。Swift 提供了8、16、32和64位的有符号和无符号整数类型。这些整数类型和 C 语言的命名方式很像,比如8位无符号整数类型是 UInt8,32位有符号整数类型是 Int32...
swift1.1-常量和变量 定义let被用于声明不变量,不变量的值一旦被定义就不能再改变var被用于声明变量,变量则可以在声明之后被随意赋值。变量名常量和变量名可以包含任何字符,包括 Unicode 字符.常量与变量名不能包含数学符号,箭头,保留的(或者非法的)Unicode 码位,连线与制表符。也不能以数字开头,但是可以在常量与变量名的其他地方包含数字。一旦你将常量或者变量声明为确定的类型,你就不能使用...
Swift简介 最新版本:5.0swift作者: Chris Lattneropen-source#优势ModernSafetyFastPowerfulEnjoyable :playgroundswift新特点没有特定的根类型(No dedicated type root )类型通过遵守协议的方式,而非继承来实现扩展( Type conforms to protocols instead...
自定义个性化注释 #步骤:##1.找到路径里的文件Finder -> 应用程序-> Xcode ->右键显示包内容-> Contents -> Developer -> Platforms -> iPhoneOS.platform -> Developer -> Library -> Xcode -> Templates -> File T...
算法实例 算法实例##字符串反转void char_reverse (char *cha){ // 指向第一个字符 char* begin = cha; // 指向最后一个字符 char* end = cha + strlen(cha) - 1; while (begin < end) { // 交换前后两个字符,同时移动指针 ...
We were unable to review your app as it crashed on launch 今天碰到了一个令人头秃的被拒理由,还附带三个崩溃日志。Guideline 2.1 - Performance - App CompletenessWe were unable to review your app as it crashed on launch. We have attached detailed crash logs to help troubleshoot this is...
修改HTTPS 添加白名单 格式 <key>key的名称</key> <array> 多个字符串数组 </array>输入白名单: 复制一下代码到info.plist文件里 <key>LSApplicationQueriesSchemes</key> <array> <!-
项目的基本配置bundleId/版本命名/.... 一、项目名称命名(如果不规范, 需要再次修改对应Bundle Identifier):新建项目导入图标和启动图今后所有关于规范的部分, 如果公司有命名规范, 优先遵守公司的文档说明, 否则, 可以参考本文所写的规范尽量用英文, 并遵守大驼峰命名法如果公司没有英文, 用拼音也行iPad版本要加”HD”以区分iPhone版本二、基本配置1.Version, 即在AppStore显示的版本...
markdown编辑器 编辑器操作欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdow...
RunLoop官方文档翻译 RunLoop 运行循环运行循环是与线程相关的基础的一部分。运行循环是一个事件处理循环,用于调度工作并协调事件的接收。运行循环的目的是在有工作要做时保持线程忙,当没有线程时将线程放在睡眠中。运行循环管理不是完全自动化的。还必须设计线程的代码以在适当的时间启动运行循环并响应传入的事件。Cocoa 和 Core Foundation都提供运行循环对象,以帮助您配置和管理线程的运行循环。您的应用...
机器学习汇总 (Stanford)69G大规模无人机(校园)图像数据集【Stanford】http://cvgl.stanford.edu/projects/uav_data/人脸素描数据集【CUHK】http://mmlab.ie.cuhk.edu.hk/archive/facesketch.html自然语言推理(文本蕴含标记)数据集【NYU】https://www.nyu.edu/pro...
Apple - BLAS 官方文档:https://developer.apple.com/documentation/accelerate/blasBLAS 苹果的基本线性代数子程序(BLAS)的实现。Overview vecLib框架包含九个C头文件(不包括仅包含其他的vecLib.h)TopicsGeneral Functions 一般函数func ATLU_DestroyThr...
Apple - Quadrature 官方文档:https://developer.apple.com/documentation/accelerate/quadratureQuadrature 在有限或无限区间上逼近函数的定积分。Overview 求积提供了有限或无限区间上函数的定积分的近似值。求积是一个用来确定曲线下面积的历史术语。通常,这是通过将区域分割成较小的形状,其面积可以容易地计算(例如矩形),并求出这些较...
Apple - Vision Vision原文档 https://developer.apple.com/documentation/vision译文: Apply computer vision algorithms to perform a variety of tasks on input images and video. 应用计算机视觉算法对输入图像和视频执行各种任务。Overview The Vis...
Apple - Core ML 官方文档:https://developer.apple.com/documentation/coremlCore ML 将机器学习模型集成到应用程序中。Overview 使用 Core ML,您可以将经过训练的机器学习模型集成到应用程序中。 一个训练模型(trained model)是将机器学习算法应用于一组训练数据的结果。该模型基于新的输入数据进行预测。例如,一个被训练在一个...
Apple ML - BNNS 官方文档: https://developer.apple.com/documentation/accelerate/bnnsBNNS Basic Neural Network Subroutines 基础神经网络子程序使用先前获得的训练数据来实现和运行神经网络。Overview BNNS 是使用先前获得的训练数据来实现和运行神经网络的函数集合。Creating a Neu...
VGG in TensorFlow 原文链接:https://www.cs.toronto.edu/~frossard/post/vgg16/VGG:Visual Graphics Generator 视觉图形生成器Files 文件:• Model weights - vgg16_weights.npz• TensorFlow model - vgg16.py• Class names - imagen...
Apple 框架 - Accelerate Accelerate 进行大规模的数学计算和图像计算,优化了高性能。Overview 该文档描述了加速框架,其中包含了用于矢量和矩阵数学的C API,数字信号处理,大量数据处理和图像处理。Topic ReferenceBNNS 使用先前获得的训练数据来实现和运行神经网络。Quadrature 在有限或无限区间上逼近函数的定积分。BLAS Basic Linear A...
常用的iOS第三方资源 一:第三方插件1:基于响应式编程思想的oc地址:https://github.com/ReactiveCocoa/ReactiveCocoa2:hud提示框地址:https://github.com/jdg/MBProgressHUD3:XML/HTML解析地址:https://github.com/topfunky/hpple4:有文字输入时,能根据键盘是否弹出来调整...
Mac 下 Python3安装 1.使用一下命令安装 brew install python32.如果出现以下错误: Warning: python3 3.6.3 is already installed, it’s just not linked. You can use brew link python3 to link this version.运行 brew link python33.出现以下错误: ...
OC语法注意点 1. 需要设置按钮的image和backgroundImage,建议先把按钮类型改为custom,才能保证设置成功。如果button是system类型,设置网络图片时,只会改变颜色。2. 属性名不能以new开头。以new开头会报错,需要你返回一个对象。3. 只有在init开头的构造方法中,才允许对self进行赋值。- (instancetype)initwithName:(NSString *)n...
mac下excel乱码解决方案 1.到excel目录下,用终端打开以下命令。亲测有效。iconv -f UTF8 -t GB18030 a.csv >b.csv2.参考https://www.zhihu.com/question/20562901
Xcode_修改默认名称和公司 1.通过下面的路径修改模板/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Source/Cocoa Touch Class.xctemplate/NSObjectObjective-C2.修改地址簿的名称和公...
Mac释放存储空间 转载自:https://blog.csdn.net/x_focus/article/details/500423851:禁用SafeSleep休眠模式——能节省出4GB-16GB空间 下面的命令可以关闭OS X原生的休眠功能,也就是SafeSleep。这种休眠模式当Mac休眠或者没电池时会将内存中的内容储存在硬盘上的sleepimage文件上。 sleepimage文件与Mac电脑的内存一样大,这...
AutoReleasePool 一、autoreleasepool源码解释AutoreleasePool是一个堆栈,里面装着指针。那么栈的底层实现是什么呢?是数组。AutoreleasePool全名叫NSAutoreleasePool。它就是一个对象引用计数自动处理器,在官方文档中被称为是一个类。在ARC中,在遵守一些规则的情况下,可以自动释放对象。系统自动帮对象调用了autorelease方法,然后就会把...
ios 生成c、c++文件 首先打开终端:(1)cd到你所要转成c语言文件的目录里:cd /Users/name/Desktop/test(2)然后输入clang -rewrite-objc main.m如果有多个xcode,不能找到路径,请参看上一篇的博客。如果没有提示错误的话,这时候你就会发现,在你所cd的目录下面多了一个后缀名是cpp的文件。...
xcode 安装位置更改或有多个xcode安装引起的问题解决方案 1.在终端中使用 xcode-select -print-path 打印命令查看xcode安装位置2.更改xcode位置:sudo ./xcode-select -switch /Applications/Xcode.app/ 加粗部分可用你自己想要的路径替换3.再次使用xode-select -print-path看到,已经显示新的路径了...
即时通讯技术的架构设计 一、WEB端实时通信技术对比在WEB端的实时通信技术中,主要有以下几种方式: 1)轮询技术轮询是最简单的一种实时通信技术,易于实现,非常适用于一些小型的应用。其基本原理是这样的,先在客户端设定一个时间间隔,然后在每个间隔里从服务器拉取一次数据,如此反复,进行实时通信。轮询的缺点是显而易见的,若时间间隔过大,则会影响实时性,若时间间隔过小,又会对服务器产生非常大的负担,并且绝大多数请求不会返回数据,...
文本中含有特殊字符串以及去除 文本中含有特殊字符串//去除特殊字符串-(NSString *)removeCharactersWithString:(NSString *)string{ //1. 由于NSString中有全角符号和半角符号, 因此有些符号要包括全角和半角的 NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersI
修改searchbar的背景颜色 UISearchBar是由两个subView组成的,一个是UISearchBarBackGround,另一个是UITextField. 方法一:是直接将 UISearchBarBackGround移去。方法二:是创建一个UIView设置其颜色加载到UISearchBarBaceGround上作为UISearchBar的背景颜色核心代码如下:-(void)removeBgGr
网易云信 集成 1.Demo链接https://pan.baidu.com/s/1eSbqDW22.参数配置A、- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[NIMSDKsharedSDK] regis
git 下载项目操作步骤 1.下载项目git clone git@39.108.117.235:/home/git/repositories/jinxin.git2.查看分支git branch -a3.切换分支:git checkout -b develop --track remotes/origin/develop
WKWebViewJavascriptBridge 在iOS 11上的问题 iOS 10.3 或 iOS 11.0 WKWebView 可能会遇到 Completion handler passed to -[WKWebViewJavascriptBridge webView:decidePolicyForNavigationAction:decisionHandler:] was called more than once 这个问题导致崩溃,只要像这样在 WKWeb
scrollview实现两条信息展示,单条信息轮播 1.主要代码- (void)moveItem:(CGFloat)itemY{ if (itemY >= ITEM_HEIGHT * ([self.items count] -1) ) { itemY = 0; // 设置偏移量 [_scrollView setContentOffset:CGPointMake(0,itemY) anima
单选按钮 1.关键代码-(void)ClickedButton:(UIButton *)btn{ if (btn.selected == NO) { btn.selected = !btn.selected; if (btn == self.tipOK) { [self selectedOKBtnWithStatus:self.statu
二维码和条形码 1.二维码/*************二维码*************/#pragma mark - InterpolatedUIImage+ (UIImage *)createNonInterpolatedUIImageFormCIImage:(CIImage *)image withSize:(CGFloat) size { CGRect extent = CGRectInte
自定义系统NavigationBar时,UIScrollView内容发生偏移的问题 ⭐️最近才遇到的坑,我很纳闷之前为毛没发现: 在使用NavigationBar的ViewController中,navigationbar的下方,添加了一个UIScrollView,类似于网易新闻,实现内容左右滑动,但是发现scrollView中的内容偏移了,不管怎么设置frame,scrollView中的滚动内容总是偏移的!!!⭐️后来想起来在iOS7之后,苹果做的牛(S)逼(B)调
mac 显示和隐藏文件 如何在 OS X Mountain Lion 和早期版本的 Finder 显示隐藏文件和文件夹第一步:打开「终端」应用程序。第二步:输入如下命令:defaults write com.apple.finder AppleShowAllFiles TRUE ; killall Finder第三步:按下「Return」键。这样一来你就会在 Finder 窗口中看
支付倒计时与圆环波纹动画效果 1.圆环的主要代码NSArray * colors = [self graintFromColor:fromColor ToColor:toColor Count:4.0]; for (int i = 0; i < colors.count -1; i++) { CAGradientLayer * graint = [CAGradientLayer
按钮组单选某个按钮 1.for循环创建button@interface LoopButtonView ()// 按钮数组@property (nonatomic, strong) NSMutableArray *btnArray;// 选中按钮@property (nonatomic, strong) UIButton *selectedBtn;@end@implementation LoopB
获取CPU利用率 1.参考自CSDN: http://blog.csdn.net/x1135768777/article/details/11158713stackover:https://stackoverflow.com/questions/8223348/ios-get-cpu-usage-from-application (包含swift版)2.源码需导入头文件 #import
宏定义 命名规范和常用的 命名规范http://www.jianshu.com/p/9dd18e69a954常用的宏定义:http://download.csdn.net/detail/sunnysu99/9885047参考:http://blog.csdn.net/xiaoxiaobukuang/article/details/504
UITabbar的几种使用 1.可以用kvc和kvo设置自定义的tabbar2.需要隐藏本身tabbar的分割线3.主要点://设置tab bar 中间item的图为大图标 UIViewController* vc = [UIViewController new];UINavigationController* nav = [[UINavigationController alloc] initWith
2018版cocoapods安装及使用和注意事项 以上为简洁版,基本可以解决安装问题。 A.安装rubya 查看ruby版本ruby -vb.如果版本低升级。 1.先安装rvm。Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)。curl -L https://get.rvm.io | bash -s stable2.载入rvm环境sour...
值传递,地址传递,引用传递 贴代码#include void Exchg1(int x, int y){ int tmp; tmp = x; x = y; y = tmp; printf("x = %d, y = %d", x, y);}/* 值传递:在调用Exchg1(a,b)时最开始做的两个隐含动作是:int x=a;int y=b;.及x=a;y=b
oc 制造假数据 1.把服务器Json数据转义: http://www.bejson.com/zhuanyi/如果是已知数据是字典,则通过以下方法先转成json-(NSString *)convertToJsonData:(NSDictionary *)dict{ NSError *error; NSData *jsonData = [NSJSONSerialization dataWith...
oc 计算代码行数 在主函数里调用计数方法:NSString *url = @"/Users/ss/Desktop/APP/USApp2.0/Lib/"; NSLog(@"代码行数:%ld",codeLineCount(url));封装方法:NSUInteger codeLineCount(NSString *url){ //1、设置文件管理者对象,判断文件是否存在
app嵌套web网页滚动流畅 1.总体思路就是webview套在tableview上边,特别注意要设置webview的scrollview属性scrollenabled为no。其实是个体验上的假象。2.上代码//// ViewController.m// dynamicWebView//// Created by ss on 2016/11/21.// Copyright © 2016年 ss.
Xcode代码块自定义使用 1.代码块使用的变量的地方使用@property (nonatomic,copy) NSString * ;2.拽到代码块栏里设置名称和快捷键本人收集了一些常用的代码块 ,后续补充中//1.cell创建static NSString * identifier = @"";+(instancetype)cellWithTableView:(UITableV
循环遍历生成button #define kButtonWidth 80#define kButtonHeight 35#define kButtonMargin 10/** 创建备选区按钮*/-(void)creatOptionsButtonWithArray:(NSArray * )array{ CGFloat optionW = SCREEN_WIDTH; CGFloat
UIImage 注意事项 //有缓存 UIImage * image = [UIImageimageNamed:@""]; //无缓存 播放帧动画是使用无缓存的方式 NSString * url = [[NSBundlemainBundle]pathForResource:@""ofType:@""]; UIImage * image1 = [[UIIma
OC_Block block相关:typedef int (*SumP) (int,int);typedef int (^MyBlock) (int,int);int sum(int a,int b){ return a+b;}- (int)main(){ /******************** 无参无返回值的block ************************
OC_类、description方法、SEL 1.类: 类的本质:类也是class类型的对象 typedef struct objc_class * Class; 每个类只有一个类对象; 1.当程序启动时,就会加载项目中所有的类和分类,而且加载后会调用每个类的+load方法; 2.当第一次使用某个类的时候,
git下载时Xcode版本不一致的解决方法 报错:xcrun: error: active developer path ("/Applications/Xcode 2.app/Contents/Developer") does not exist, use `xcode-select --switch path/to/Xcode.app` to specify the Xcode that you wish to use for co
OC_分类 1.分类创建:Xcode 6之后 newfile -- Object-C File 选择fileType2.格式:@interface 类名 (分类名)@end@implementation 类名 (分类名)@end3.作用在不改变原来类的基础上,可以为类增加方法。4.使用注意1>只能增加方法,不能增加成员变量。2>分类方法实现中可以访问原来
tableview去除多余分割线问题 去除多余分割线 UIView *v = [[UIView alloc] initWithFrame:CGRectZero]; [_cardTableView setTableFooterView:v];
ios 9 tableview分割线不全的问题 1.设置tableview- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{ if ([cell respondsToSelector:@selector(setSepar
UICollectView Item间隔调整 1.调整间隔://item上下间距为0- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section{
OC_构造方法(工厂方法) 构造方法相关 构造方法:用来初始化对象的方法,是个对象方法,减号开头,是为了让对象创建出来就有一些固定的值; 完整的创建一个可用的对象 1> 分配存储空间 + alloc 2> 初始化 - init 重写 init方法:
OC_id关键字 id: 1> 万能指针,能指向任何OC对象,相当于NSObject * ; 2> id的定义: typedef struct objc_object{ Class isa; } *id; 3> id 指针不需要再加上 * 4> 调用一个不存在的方法,编译
OC_多态 多态:多种形态 来自不同类的对象可以定义共享相同名称的方法(不同类名,相同方法名) id类型可以存储任何对象。 父类指针,指向子类对象 调用方法时,会检测对象的真实类型代码示例:@interface Dog ()-(void)run;@end@implementation Dog-(void)run{ NSLog(@"--dog run");}@end@int
OC_self self的用途 1> 谁调用了当前方法,self就代表谁。在类方法里调用,self就代表类,会找相应调用的类方法,对象方法亦然。 2> 可以利用self->成员变量名 访问当前对象内部的成员变量。 3> [self 方法名]可以调用其他对象方法/类方法-(void)run{ [self bark]; NSLog(@"--dog run");}
Xcode_介绍 app美化 应用程序图标:Icon.png 欢迎界面图标:Default.pngapp属性文件plist Icon File:应用程序图标 Bundle display name:应用程序名 Bundle identifier:应用程序唯一标识符视图继承关系:
OC_类方法 弱语法:只声明不实现会编译警告,运行报错。 如果只实现不声明,会编译警告。 类方法: 1> +号方法 2> 类名调用 类方法好处: 1> 类方法不依赖于对象,执行效率高 2> 能用类方法尽量用类名
Xcode_修改模板内容,查看框架的路径 /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates 此路径下包括文件和工程模板 修改工程模板: /Project Templates/Mac/Application/Command Line Tool.xctemplate
OC_点语法 OC中1.点语法的本质是方法调用,而不是访问变量。p.age =10; -- 等价于 -- [p setAge:10];2.成员变量一般用下划线: _height 成员变量一般需要单独写set和get方法