自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 Cocoapods Podfile的一些使用技巧

文章目录如何指定版本號安装库更新库如何指定版本號Besides no version, or a specific one, it is also possible to use logical operators:'> 0.1' Any version higher than 0.1 0.1以上'>= 0.1' Version 0.1 and any higher versi...

2020-04-23 11:31:54 265

原创 APP项目完整工作流程

文章目录序章一.需求讨论二.需求可行性(需求研讨会)三.UI设计四.开发五. 测试六.验收七.发布上线八.迭代序章从事开发5年多,对整个开发流程有个比较清晰的认识,特此记录下来仅供参考!一个项目的顺利进行,得益于一套规范的项目流程。必要性:每个项目成员都要清楚,一.需求讨论产品经理根据已明确的需求,对App进行功能的规划,页面及布局进行设计,并设计各个页面的跳转逻辑,最终输出App各个...

2019-06-24 14:45:25 2777

原创 iOS开发问题小结

cocoapods1. CocoaPods was not able to update the master repo. If this is an unexpected issue and persists you can inspect it running pod repo update --verbose今天在更新本地pod库的时候报了这个错,执行pod repo update和po...

2019-06-21 15:55:59 848

原创 iOS-一个APP多个版本配置

导航目录一个应用设置两个版本的应用名和图标及包名DEBUG和RELEASE 、preform环境配置配置不同的AppName配置不同的AppIcon配置不同的Bundle ID切换环境一个应用设置两个版本的应用名和图标及包名在实际的开发过程中,有时候我们会需要设置多个版本的环境,例如:开发版与测试版、开发版和预发版及正式版,这个过程一般我们都要修改对应版本的域名、应用名、图标及包名,以下先介绍...

2019-06-21 15:35:10 798

原创 cocoapods 安装使用(2018.10更新)

安装使用步骤cocoapods 安装1.升级Ruby环境1).查看当前Ruby版本2).更新Ruby2.换掉Ruby镜像1).查看当前镜像2).首先移除现有的Ruby镜像3).添加国内最新镜像源3.安装CocoaPods1).执行安装命令2).安装等待3).安装完成4).安装完成后,需要设置一下4.CocoaPods的使用1).试着搜索一下常用库2).进到项目目录3).创建Podfile文件4)....

2018-10-09 16:14:03 887

原创 Github pages+jekyll写博客+域名绑定

安装jekyll安装jekyll前先按照依赖包bundler,下述命令即可安装$ gem install bundler之后,直接可以通过下述命令安装jekyll$ gem install jekyll直到出现下面信息,则安装成功了。 Done installing documentation for public_suffix, addressable, colorator, http_par

2018-03-23 10:47:53 4072 2

原创 Github搭建个人博客(2018最新版)

前言之前一直使用CSDN记录和分享自己的所学,突发奇想就想搞一个自己的博客,在网上搜索了很多教程后发现,有的教程要么已经是很老,要么过于复杂,然后就决定写一篇比较适合小白搭建博客的方法。然后就想到了Github上。Github上是一个共享虚拟主机服务,用于存放使用的Git版本控制的软件代码和内容项目.Github作为现在最流行的代码仓库,一个全世界程序员聚集的地方,大家相互分享自己写的代码,...

2018-03-08 15:08:07 25985 9

原创 iOS判断是否安装某APP: canOpenUrl

-canOpenURL: 和 -openURL:工作中有时候需要判断当前设备中是否安装某款应该,这时候就需要用到Apple 提供的 - canOpenURL: API 来测试相应 APP 的 scheme 是否有效来实现。如何知道某个 APP 支持的所有 scheme如何知道对应的 APP 是否在设备上呢?我们需要知道这个 APP 支持的所有 scheme,一些常用的大型应用很容易...

2018-03-07 13:54:33 4929

原创 CocoaPods 创建私有仓库,使用和维护(2019更新)

前方 随着项目的业务发展扩大,公司决定另外开一个APP,但是会用到现在的一些公共组件,照搬过去用当然没问题,但是有一个问题,如果以后维护公共组件那还不得几个APP都去修改,所以想到了封装成私有库便于维护。准备工作1、CocoaPods,Cocoapods是出色的一个iOS依赖管理工具,使用它可以方便的管理和更新项目中所使用到的第三方库,以及将自己的项目中的公共组件交由它去管理...

2018-02-12 13:50:16 1073

原创 深度链接LinkedME与Deeplink

一、前言介绍LinkedME是国内首家企业级深度链接服务提供商,致力于帮助移动APP解决用户增长和流量变现的问题。 LinkedME提供“一键活跃”,“场景还原”,“场景运营”等功能,大大提供APP的活跃度,更好地解决流量变现。致力于打造App与App之间的桥梁,感知用户行为,引发场景消费。作用由于苹果公司设立的安全机制限制了各APP之间的信息交互,LinkedMe使用D

2018-01-30 10:06:46 5655

原创 最新安装Alcatraz插件方法 for Xcode8

说明: 苹果从Xcode 8开始对于Alcatraz中安装的插件已经不支持,这可能是因为Xcode-ghost事件,让苹果认为未审核过的插件也会不安全,因此苹果在Xcode 8 中提供了开发插件的扩展. Using and Extending the Xcode Source Editor.但是我们使用插件已经习惯性和方便,所以本章节为在Xcode 8 中安装Alcatraz

2017-08-07 14:45:08 438

原创 OC与JS交互---JavaScriptCore

声明@interface ViewController ()<UIWebViewDelegate>@property (weak, nonatomic) IBOutlet UIWebView *webView;@property (nonatomic, strong) JSContext *context;初始化JSContext *context = [self.webView valueFo

2017-07-28 00:10:56 727

原创 iOS自动化打包之jenkins安装

安装jenkins1.未装过homebrew的参照homebrew主页2.使用 homebrew 安装JDK $brew install Caskroom/cask/java 或者 $ brew cask install java3.查看系统安装中安装的所有JDK$ /usr/libexec/java_home -V4.使用 homebrew 安装 jenkins$brew instal

2017-07-26 18:16:54 821

原创 Github仓库搭建和SourceTree 搭配使用

一 github 仓库搭建本例以Github为例作为远程仓库,如果你没有Github可以在官网https://github.com/注册。 由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以我们需要配置验证信息:使用以下命令生成SSH Key:$ ssh-keygen -t rsa -C "[email protected]"把命令中的邮箱替换为你在github注册的邮箱

2017-07-23 23:29:32 1718

转载 线程间的通信、同步方式与进程间通信方式

1、线程间的通信方式使用全局变量主要由于多个线程可能更改全局变量,因此全局变量最好声明为violate使用消息实现通信在Windows程序设计中,每一个线程都可以拥有自己的消息队列(UI线程默认自带消息队列和消息循环,工作线程需要手动实现消息循环),因此可以采用消息进行线程间通信sendMessage,postMessage。 1)定义消息#define WM_THREAD_SENDMSG=

2016-10-21 09:09:56 605

原创 多线程之GCD、NSOperation、NSThread

GCD1、GCD介绍全称Grand Central Dispatch,可翻译为”牛逼的中枢调度器” 纯C语言开发,是苹果公司为多核的并行运算提出的解决方案,会自动利用更多的CPU内核(比如双核、四核),可以自动管理线程的生命周期(创建线程、调度任务、销毁线程)。2、GCD的两个核心 2.1 任务执行的操作,在GCD中,任务是通过 block来封装的。并且任务的block没有参数也没有返回值

2016-10-19 00:57:28 381

原创 开发实用整理

自动补全目录,在文件写上 $(SRCROOT)$(SRCROOT)/BiShe/PrefixHeader.pch自定义分栏控制器 UITabBarController@implementation BSTabBarController- (instancetype)init{ self = [super init]; if (self) { // 统一设置It

2016-10-18 21:42:29 380

原创 UIColor之色值设置

随机颜色,调用[UIColor randomColor];+ (UIColor *)randomColor { return [UIColor colorWithRed:(CGFloat)RAND_MAX / random() green:(CGFloat)RAND_MAX / random()

2016-10-18 20:34:54 848

原创 NSString之Category

对字符串MD5/** * 数据MD5 * * @return MD5之后的数据 */- (NSString *)stringFromMD5{ if(self == nil || [self length] == 0) return nil; const char *value = [self UTF8String]; unsigned char

2016-10-18 20:26:59 332

原创 新手引导页

在项目中我们经常会看到下载的应用第一进入或者更新之后再进来时会看到对本应用的一些介绍及使用,这就是新手引导,下面我们简单的实现新手引导页面; 1.创建一个继承UIWindow的类目命名为 UIWindow+Extension,然后在这个类目做我们的实现操作#import "BSTabBarController.h"#import "BSNewfeatureViewController.h"#i

2016-10-18 15:42:09 843

原创 iOS实战——GCD实现时间倒数

UILabel显示倒数/** * 倒计时GCD通用方法 * 通常用的计时器都是用NSTimer,但是NSTimer在线程很吃紧的时候效果不佳,使用GCD计时相对更好 * * @param seconds 倒计时间 单位:秒 * @param showLable 需要显示的文本框 * @param endBlock 倒计时结束后,回调的Block */+ (void)

2016-10-18 15:24:32 444

原创 iOS实战——autoreleasepool

每个main函数的主体都被@autoreleasepool的Block块包在里面,也就是说,接下来所有的对象创建都在这个block里面。

2016-10-17 00:31:39 291

原创 网络——host绑定

什么是Hosts文件?Hosts是一个没有扩展名,用于储存计算机网络中各节点信息的计算机文件。这个文件负责将主机名称映射到相应的IP地址。hosts文件通常用于补充或替换网络中DNS的功能。和DNS不同的是,计算机的用户可以直接对hosts文件进行控制。配置文件这个文件可以配置主机ip及对应的主机名,对于服务器类型的linux系统其作用还是不可忽略的。在局域网或是INTERNET上,每台主机都有一个

2016-10-16 19:24:46 2879

转载 iOS实战——DEX、DSA、RSA、SSH HTTPS、 公钥、秘钥、对称加密、非对称加密

DES: Digital Encryption Standard. Obsolete standard. 单密钥算法,是信息的发送方采用密钥A进行数据加密,信息的接收方采用同一个密钥A进行数据解密. 单密钥算法是一个对称算法. 算法好在加/解速度快,密钥量短,采用对称加密DSA: Digital Signature Algorithm. based on discrete

2016-10-14 00:19:14 638

原创 iOS实战——随笔

swift项目中使用到的第三方库 SnapKit: 布局 Kingfisher: 缓存图片 SwiftyJSON:解析 json - SwiftyJSON/SwiftyJSON · GitHub Alamofire 网络请求 SQLite.swift:简单、轻量,使用上最SQL的SQLite封装库 RAMAnimatedTabBarController

2016-10-11 09:17:01 345

原创 iOS进阶——最新版CocoaPods的安装及使用

持续更新:2017年7月25一.CocoaPods是什么?CocoaPods是一个负责管理iOS项目中第三方开源库的工具。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间,在使用第三方库时,你除了要导数源码外,但是,集成这些依赖库需要我们手动去配置,还有当这些第三方库发生了更新,还需要手动去更新项目。详细的CocoaPods介绍--ht

2016-10-10 13:37:35 402

转载 iOS开发——HTTP协议详解

什么是HTTP协议URLHTTP消息结构HTTP方法状态码Header Field请求体格式理解HTTP通讯方式什么是HTTP协议协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规则。超文本传输协议(HTTP)作为其中一种,它允许将超文本标记语言文档从web服务器传送给客户端。(由于使用MIME机制/多用途因特网邮件扩展,可以传输多种类型的文件)URL

2016-08-17 21:22:51 390

转载 Objective-C——关于Objective-C

苹果官方文档翻译 《Objective-C语言编程》(Programming with Objective-C)https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html#//apple_ref/

2016-08-17 17:25:31 955

转载 Objective-C——编码规范

介绍我们制定Objective-C编码规范的原因是我们能够在我们的书,教程和初学者工具包的代码保持优雅和一致。即使我们有很多不同的作者来完成不同的书籍。这里编码规范有可能与你看到的其他Objective-C编码规范不同,因为它主要是为了打印和web的易读性。关于作者这编码规范的创建是由很多来自raywenderlich.com团队成员在Nicholas Waynik的带领下共同完成

2016-08-16 18:21:52 373

转载 iOS实战——Bundle字段

这些字段名都是XML中的名称,在xcode的属性编辑器中,名字并不相同bundle目录中的属性列表详细描述了有关该bundle的信息。Finder和一些系统API在一些情况下会使用这些信息。bundle支持下列字段类型:Core Foundation字段–描述了bundle的综合属性Cocoa特定的字段–描述了和Cocoa有关的bundle的属性Finder特定的字段–描述

2016-08-16 15:30:53 566

原创 Objective-c——理解与特性

Object-C通常写作Objective-C或者Obj-C或OC,是根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-C可以在gcc运作的系统写和编译,因为gcc含Objective-C的编译器。在MAC OS X系

2016-08-13 00:31:32 281

原创 iOS进阶——iOS面试题,梳理

Objective-c 基础Objective-c理解与特性 OC作为一六面向对象的语言,自然具有面向对象的语言特性:封装、继承、多态。它既有表态语言的特性(如c++)又有动态语言的效率(动态类型、动态绑定、动态加载)。优点及缺点 优点 Cateogies Posing 动态识别 指标计算 弹性讯息传递 不是一个过度复杂的C衍生语言 Objective-C

2016-08-12 23:45:06 574

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除