★IOS★
文章平均质量分 71
Gaos的BLOG
Had I not seen the Sun
I could have borne the shade
But Light a newer Wilderness
My Wilderness has made
展开
-
IOS-私有库 GKit.podspec Pod 新版
知识时间长不用真的是容易忘,基础的教程可以看iOS开发——组件化之Cocoapods私有库详解 lib_Gaos的BLOG-CSDN博客前言随着公司业务的不断发展,团队不断壮大的同时,项目也随之臃肿起来,如何保障团队协作的高效,自然的想到了组件化这个话题。下面总结下本人的梳理和思考。组件化为什么我们需要组件化项目模块间的解耦、模块实现可重用、提升团队成员之间团队之间的协作开发效率、更方便单元测试。并不是所有的项目都适合组件化如果你的项目较小,模块之间交互简单,耦合很少;模块没有被外部模块引用,只是一个单独的原创 2021-12-02 21:22:32 · 1766 阅读 · 0 评论 -
IOS-修改工程名
1.修改工程名字和文件名,再工程内双击修改,再修改cheme2.搜索中替换所有就工程名字 3.第2步中替换不了的原工程名字需要,在setting中手动修改所有路径,注意个.pch文件和.entitlements文件可能是原工程名4.如果工程中有pods,可以删除原pods重新pod install 或者,dwxz.xcodeproi包内容中project.pbxpr...原创 2019-01-17 13:07:09 · 577 阅读 · 0 评论 -
IOS-Instruments profile检测
https://mp.csdn.net/postedit/80164533 符号化崩溃日志Instruments常用功能点击profile in instruments进入检测耗时分析主界面Separate by Thread: 按线程分开做分析,这样更容易揪出那些吃资源的问题线程。特别是对于主线程,它要处理和渲染所有的接口数据,一旦受到阻塞,程序必然卡顿或停止...原创 2018-12-18 18:48:28 · 547 阅读 · 0 评论 -
IOS-Svn-Cornerstone 终端 命令行
在服务器上建立新文件并上传代码(文件操作需要谨慎) 文件拖放到本地,点击提交 如要生成新的分支 .a文件提交不了的办法选择View->Show Ignored Items,在搜索框里边输入.a搜索,进行提交 Version的.a解决办法原创 2015-08-28 13:06:39 · 2768 阅读 · 0 评论 -
IOS -获取设备型号然后手动转化为对应名称
- (NSString*)deviceVersion{ // 需要#import "sys/utsname.h" struct utsname systemInfo; uname(&systemInfo); NSString *deviceString = [NSString stringWithCString:systemInfo.machine e...原创 2019-04-16 17:44:55 · 310 阅读 · 0 评论 -
GSLib.podspec
传送门 cd /Users/gaoshuang/Documents/GSLib pod lib create GSLib 按照步骤生成工程 添加并组件内容 安装与测试本地库 $ pod install 现在组件内容已经添加到工程中 修改podspec 如果添加了其它依赖库,需要重新$ pod in...原创 2018-09-07 16:45:04 · 526 阅读 · 0 评论 -
GCDQueue 使用
有幸看到封装GCDQueue的文章,这里说一下他的使用方法, /***********异步线程执行耗时任务,主线程更新UI***************/ /*1.*/ [[GCDQueue globalQueue] execute:^{ //异步线程 [[GCDQueue mainQueue]execute:^{ ...原创 2018-09-06 19:48:19 · 401 阅读 · 0 评论 -
IOS- 友盟推送,授权,分享,海外版
关于友盟的推送分享授权等做过了好几遍,每次接入做都还要查文档,看Demo,重新来一遍,友盟自己文档模棱两可,导致很多坑。另外配合后台查推送老是说发了我们接收不了,第三方的账号有时候不是自己直接管理的,导致很多跳转不回来或者调用失败的情况,MMP,还得自己背锅,遇到问题,优先考虑自己的问题,把自己该做的东西用心做,方便自己幸福他人。简单的问题看文档就可以了,这里记录一下迷惑的问题...原创 2018-05-15 20:28:18 · 1998 阅读 · 0 评论 -
IOS PCH配置
pch文件的作用 对于xcode6以后创建工程不在自动添加.pch文件了,很多资料认为.pch文件会影响效率。我觉得.pch文件总体上会加速编译,因为xcode会对.pch文件中的定义预编译并缓存。之所以减慢编译速度应该是因为很多开发者使用方式不对吧。 我们可以想到.pch是把双刃剑,提供便利性的同时如果使用不当可能增加Build的时间。 因此我们在使用时,要注意以下几点:不要把绝大...原创 2018-04-26 17:48:22 · 1061 阅读 · 0 评论 -
IOS- 符号化Crash崩溃日记
https://mp.csdn.net/postedit/85073690IOS-Instruments profile检测1.桌面新生成一个crash的文件夹2.crash的txt的文件复制到上边的文件夹中并命名crash.txt3.Xcode-Window-Organize找到要检查的对应Archives找到App-右击-Show in Finder右击 .xcarch...原创 2018-05-02 12:24:33 · 247 阅读 · 0 评论 -
SDWebImageView
有些图片路径在浏览器上第一次没出来第二次出来的情况,或者浏览器上出来,本机上出现错误网络无法链接【404】网络无法链接【-1100】解决办法1The issue was that the API was returning images with an https scheme. Once I manipulated the returned URL to be of http, instead ...原创 2018-04-13 19:43:37 · 257 阅读 · 0 评论 -
IOS-马甲包 混淆 注意事项
1. ipa包特征:工程配置(KLGenerateSpamCode) 修改工程名 修改文件夹以及类名前缀 代码类:(ChaosTool) 已有代码的混淆(改类名、改函数名,以及函数顺序) 审核时tab页面需要较大变化,做开关 手动添加或者删除代码中的注释和空行 生成多余.h.m文件以及文件夹 生成多余的变量/函数/属性以及实现 资源类:(ImageO...原创 2019-04-16 17:44:40 · 1587 阅读 · 0 评论 -
IOS -尺寸
logo和预览图图片必须为 JPG 或 PNG 格式,且必须采用 RGB 色彩空间。使用LaunchScreen.storyboard的话尺寸只需要。750*1334 或者1504 × 2672。使用原图方式LaunchImage尺寸为。6.5寸1242 × 2688。5.5寸1242× 2208。...原创 2015-05-14 11:31:00 · 420 阅读 · 0 评论 -
ios-马甲包混淆方法
使用ChaosTool工具做混淆优点,能增加大量的垃圾方法以及目录及文件,方法名和参数以及生成的文件变换性较大缺点,只能添加新的方法,不能修改原有的方法,且方法没有调用使用脚本做混淆优点,能对有标识的方法已宏定义的形式动态更换,.h需要放在.pch的最上边,不然文件有可能报错缺点,多参数情况下支持性不够好使用宏做混淆#define YYHomeView...原创 2019-04-16 17:44:32 · 1621 阅读 · 2 评论 -
IOS:FMDB使用databaseQueue实现数据库操作线程安全
sqlite数据库是ios开发中经常使用到的数据持久化方案,因为项目需求的不同,对数据库操作的要求也不同。由于最近使用sqlite时,有一些地方需要频繁的更新,这时在多线程操作时,其他线程访问数据库会造成程序崩溃,因为之前的框架里设计的数据库管理工具类采用的是单例模式,这样在多线程操作同一个数据库时很容易引起冲突,导致程序崩溃,所以开始寻找多线程下线程安全的办法。其实FMDB本身已经对多线...转载 2019-07-26 11:06:32 · 587 阅读 · 0 评论 -
IOS- 判断系统首选语言是中文英文
iOS7zh-Hans: 简体zh-Hant: 繁体iOS8zh-Hans: 简体zh-Hant: 繁体zh-HK: 香港繁体(增加)iOS9zh-Hans-CN: 简体(改变)zh-Hant-CN: 繁体(改变)zh-HK: 香港繁体zh-TW: 台湾繁体(增加)iOS 10zh-Hans-CN 简体yue-Hans-CN 粤语 简体 (增加)yue-...原创 2019-03-14 15:36:23 · 1891 阅读 · 0 评论 -
IOS- genstrings 国际化
正文一. 添加你所需要国际化的语言project->info->Localizations以下用中文和英文为例Paste_Image.png二. 替换项目中所有的字符串 之 神奇的正则表达式xcode 左侧全局搜索框, 切换成replace -> Regular Expression如图Paste_Image.png搜索条件中输入 (sw...原创 2019-03-01 16:38:58 · 458 阅读 · 0 评论 -
IOS- 事件传递,响应者链条
发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中,UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理。通常,会先发送事件给应用程序的keyWindow,主窗口会在其视图层次结构中找到一个最合适的视图来处理触摸事件,这个找寻的过程就是事件传递。一、事件传递传递过程示例1.png触摸事件的传递是从父控件传递到...原创 2019-02-14 11:03:10 · 629 阅读 · 1 评论 -
IOS- Communicating with Apple 打包慢问题
有时候,打包Archive的时候,一直提示Communicating with Apple而完成不了的情况Xcode,Archive成功后Organizer包内容找到你生成的XXX.app文件,或者在Xcode中Products下找到XXX.app,复制到一个空文件夹中,进行压缩,最后修改文件名为Payload.ipa,点击使用ipa,就可以了。...原创 2019-02-28 18:07:33 · 1873 阅读 · 0 评论 -
IOS-GCDQueue使用
//// ViewController.m// GCD//// Created by YouXianMing on 15/10/19.// Copyright © 2015年 ZiPeiYi. All rights reserved.//#import "ViewController.h"#import "GCD.h"@interface ViewControlle...原创 2019-02-21 17:25:32 · 257 阅读 · 0 评论 -
IOS-海外版授权分享推送统计 Google FaceBook Twitter Instagram
Google登录Google登录官方文档以及Demo1.根据文档添加GoogleSignInDependencies.framework,GoogleSignIn.framework ,GoogleSignIn.bundle如果不用官方按钮的话就不需要这个2.根据文档添加依赖3.生成client ID,点击绿色按钮,最后生成static NSString * const k...原创 2020-07-22 16:21:02 · 4023 阅读 · 0 评论 -
IOS-马甲包迁移及配置
工程名字scheme名称 ,project称,文件名称,文件路径,图片资源和库的路径,Pods路径以及类的头部介绍和注释修改BundleID新的钥匙串上证书助理申请用来创建ppid的.certificateSigningRequestLOGO 启动图 启动视频所有权限,分享,注释,提示等涉及到原APP名称的字段充值产品信息Appstore配置审核开关...原创 2019-04-16 17:44:20 · 585 阅读 · 0 评论 -
IOS-定位地图
NSLocationAlwaysUsageDescription: 允许在前后台获取GPS的描述NSLocationWhenInUseDescription : 允许在前台获取GPS的描述 1、前台定位1.导入CoreLocation框架和对应的主头文件 #import <CoreLocation/CoreLocation.h> 2.创建CLLc...转载 2016-09-18 11:10:15 · 248 阅读 · 0 评论 -
Xcode真机测试 安装包 12.2
shift+command+G /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport真机测试安装包 12.2真机测试安装包 12.1真机测试安装包 12.0这里不用积分https://github.com/iGhibli/iOS-DeviceSu...原创 2018-04-11 17:40:31 · 2525 阅读 · 0 评论 -
获取音/视频设备输入输出流
获取音/视频设备输入输出流1,add AVFoundation.framework,AssetsLibrary.framework。第一个用于获取设备摄像头,话筒,第二个保存到相册将视频。2,123456//apple媒体框架#import //C内存管理库#import //apple 媒体文件框架#import 3,add delegate转载 2018-01-22 22:30:22 · 1189 阅读 · 0 评论 -
UIButton-UIEdgeInsets
/**top +下 -上left +右 -左bottom +上 -下right +左 -右**/同时存在图片和title的情况下,居中 [button setImageEdgeInsets:UIEdgeInsetsMake(0, 0, 0, -button.titleLabel.intrinsicContentSize原创 2017-12-04 17:05:10 · 203 阅读 · 0 评论 -
创建podsepc
1.git添加tag 2.保持spec.podspec 中tag一致,提交修改代码 3.检测本地spec.podspec是否正确 允许警告 详细展示 pod spec lint CNMLib –allow-warnings –verbose 4.推送到远端 pod trunk push CNMLib.podspec –verbose –allow-warnings原创 2017-07-06 11:39:25 · 487 阅读 · 0 评论 -
GCD博爱
//// DemoVC13.m// BABaseProject//// Created by 博爱 on 16/6/23.// Copyright © 2016年 博爱之家. All rights reserved.//#import "DemoVC13.h"@interface DemoVC13 ()@end@implementation DemoVC13- (void)vie转载 2017-10-10 09:48:29 · 620 阅读 · 0 评论 -
IOS-UITabBarController
简书 http://www.jianshu.com/p/a64323524e64系统tabbar和自定义tabbar同时使用,再自定义的子类tabbar中重新约束位置//// MainTabBarViewController.m// YunMaiDriver//// Created by zpf on 2017/9/13.// Copyright © 2017年 YunMai原创 2017-09-18 09:51:45 · 423 阅读 · 0 评论 -
你知道如何为iOS工程改名吗?
目录(?)[+]我们在iOS开发中,难免会遇到项目做到一半要改名字的情况。如果项目名差的太大,工程名看起来总是不舒服的,有良心的开发者可能就会想着为工程改个贴切的名字,那么你就为用到本文记录的内容。 如果我们开发的两个项目相差不大,只有部分主题、布局有更改,那么我们就可以拷贝之前已经完成的项目,改改名字,再对部分界面和代码稍稍修改就可以啦。如何修改工程名呢?转载 2017-09-25 20:37:18 · 265 阅读 · 0 评论 -
cordova详解1
Cordova 简介在介绍Cordova之前,必须先提一下PhoneGap。PhoneGap 是Nitobi软件公司2008年推出的一个框架,旨在弥补web 和iOS 之间的不足,使得web 和 iPhone SDK 之间的交互更容易。后来又加入了Android SDK 和BlackBerry SDK,再然后又陆续加入了更多的平台。 但是在2011年,Nitobi公司被Adobe收购,转载 2017-09-25 20:17:23 · 512 阅读 · 0 评论 -
Cordova详解2
版权声明:本文为博主原创文章,转载请注明出处。目录(?)[+]扯两句,可以跳过由于项目中Cordova相关功能一直是同事在负责,所以也没有仔细的去探究Cordova到底是怎么使用的,又是如何实现JS 与 OC 的交互。所以我基本上是从零开始研究和学习Cordova的使用,从上篇在官网实现命令行创建工程,到工程运行起来,实际项目中怎么使用Cordo转载 2017-09-25 20:14:38 · 967 阅读 · 2 评论 -
Show Blame for Line
你是否遇到过需要或者就是很想知道到底是谁编写了那行可怕的错误代码呢?把光标移动到出错的那一行,单击右键选择然后在菜单里选择Show Blame for Line 去掉的话 点击对比的按钮,(右边的左右箭头)com,点击Assistant关闭转载 2017-09-05 09:43:52 · 798 阅读 · 0 评论 -
IOS自动化测试 在 MAC 上搭建 appium1.6.3 过程
https://testerhome.com/topics/6962 自己研究好久ios10的真机测试今天算是成功了。新手发帖,仅供参考。原文地址https://github.com/appium/appium-xcuitest-driver1,有一个MAC机器,或者虚拟机,能够联网,要求Xcode8+ MAC系统10.11+(我用的是Xcode8.2 , MAC系统10.转载 2017-07-31 15:04:45 · 3351 阅读 · 0 评论 -
iOS自动化测试工具Appium在mac上安装和使用教程
原文http://www.jianshu.com/u/770cb5983e6d本文只适用于MAC下测试iOS应用去下载并安装java去下载并安装JDKimage.png先到Appium官网去下载并安装appium-desktop-1.1.1.dmg接下来就是配置Appium的环境,这篇文章讲的很详细,同样适用目前的1.6.5版本.大家可以去按步执行一下.(如果这转载 2017-08-01 17:59:22 · 1723 阅读 · 0 评论 -
ruby,gem,安装cocoapods
1.装cocoapods,ruby版本忒低-》开始更新ruby-》开始更新gem,这是一条不归路啊同志们,各种permission denied,各种路径不存在,各种路径没有读写权限,各种不成功!2.舒服优雅的方式:(ref:https://segmentfault.com/a/1190000003784636)rvm是什么?为什么要安装rvm呢,因为rvm可以让你拥有多个版本的Ruby,并且可以在转载 2017-07-06 11:38:43 · 636 阅读 · 0 评论 -
IOS多线程[总结]
概念并发队列:1.可以让多个任务并发(同时)执行(自动开启多个线程同时执行任务) 2.并发功能只有在异步(dispatch_async)函数下才有效 串行队列: 让任务一个接着一个的执行 (一个任务执行完毕再执行下一个任务) ### 队列 自己创建的并发队列: 同步函数(没有开新线程能力) 顺序执行 没有开启新线程 自己创建的并发队列(效果等同于全局原创 2017-07-06 11:36:36 · 280 阅读 · 0 评论 -
iOS 堆和栈的区别?
前言堆和栈是什么?有什么区别?是干嘛的?啥东西呀这是?别急,慢慢看下去内存管理移动设备的内存及其有限,每一个APP所能占用的内存是有限制的(吐槽一下:iPhone6s还是16G起步,还好我也买不起->_-> 扯远了~~~)什么行为会增加APP的内存占用创建一个oc对象定义一个变量调用一个函数或者方法内存管理范围任何继承了NSObject的对象对其它非转载 2017-10-17 11:43:34 · 744 阅读 · 0 评论 -
数组、链表、Hash的优缺点
IOS笔试题总结(数组、链表、Hash的优缺点)转载2016-04-22 17:08:33数组、链表、Hash的优缺点:1、数组是将元素在内存中连续存放。 链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。2、数组必须事先定义固定的长度,不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据转载 2017-10-17 11:44:44 · 7042 阅读 · 0 评论 -
IOS -UISearchController UISearchBar
前言UISearchController是个坑啊,苹果为了,让开发者快速构架一块app,简化开发,私下添加太多东西,搞迷糊了。但是实际开发过程中,给的都需要重新去自定义,所以出现了很多莫名其妙的问题,究竟是不好呢,还是不好呢^_^ 用UISearchController主要是为了hidesNavigationBarDuringPresentation这个属性后传来的动画效果,如果不用这个的话,我倒原创 2017-11-20 16:06:32 · 7443 阅读 · 1 评论