项目全局
文章平均质量分 86
爱尚开发
知识是需要沉淀的,沉淀下来的才是你的。
展开
-
cocoaPods 安装及使用最新版教程
1.进入命令窗口,移除之前的ruby环境,输入gem sources --remove https://rubygems.org/出现 https://rubygems.org/ removed from sources代表第一步执行成功,接着进入第二步操作。2.安装ruby环境,输入gem sources -a https://ruby.taobao.or原创 2015-12-21 17:14:11 · 672 阅读 · 0 评论 -
iOS 多线程技术之NSThread
在项目中,我们难免会用到多线程,使用多线程可以起到提高性能等的问题,今天我参考了网上的一些资料和自己查苹果文档,来说说这个NSThread的使用一:多线程一共有三种方法,NSThread,NSOperation和GCD今天着重讨论NSThread,后续再讨论NSOperation和GCD这三种方法从上到下,抽象度层次是从低到高的,抽象度越高的使用越简单,也是Apple推荐使用的NS原创 2016-01-06 12:58:13 · 432 阅读 · 0 评论 -
iOS 教你写单例
单例在项目中还是基本都会用到的,所以学会写单例时很有必要的,单例如下:+(FirstViewController *)shareInstance { staticid shareInstance; staticdispatch_once_t onceToken; dispatch_once(&onceToken,^{原创 2015-12-24 14:29:44 · 557 阅读 · 0 评论 -
iOS导出ipa包的四个选项的意义
iOS 导出 ipa 包时 四个选项的意义如图 在 iOS 到处 ipa包的时候 会有四个选项1.Save for iOS App Store Deployment保存到本地 准备上传App Store 或者在越狱的iOS设备上使用2.Save for Ad Hoc Deployment保存到本地 准备在账号添加的可使用设备上使用(具体为在开发者账户下添加可用设备的udid原创 2016-11-11 12:42:30 · 533 阅读 · 0 评论 -
微信分享,支付,登录,跳转微信公众号接入指南
注:本文为微信iOS终端SDK的新手使用教程,只涉及教授SDK的使用方法,默认读者已经熟悉XCode开发工具的基本使用方法,以及具有一定的编程知识基础等。1.向微信注册你的应用程序id请到 开发者应用登记页面 进行登记,登记并选择移动应用进行设置后,将获得AppID,获得APPID时间没有传说中的那么久,半天一天就好了,然后立即用于开发。但应用登记完成后还需要提交审核,只有审核通过原创 2016-09-08 11:24:22 · 2404 阅读 · 0 评论 -
那些不能错过的Xcode插件
古人云“工欲善其事必先利其器”,打造一个强大的开发环境,是立即提升自身战斗力的绝佳途径!以下是搜集的一些有力的XCode插件。 1.全能搜索家CodePilot 2.0你要找的是文件?是文件夹?是代码?Never Mind,CMD+SHIFT+X调出CodePilot,输入任何你想到搜的东西吧!想搜appFinishLaunchingWithOptions?忘记咋拼了?没关系强大的代码原创 2016-08-24 14:51:43 · 551 阅读 · 0 评论 -
IOS开发之内购-AppStore
iOS开发之内购-AppStoreAppStore内购支付iOS开发前言本文会给大家详细介绍iOS内购,虽然之前网上也有内购的教程,但是还不够详细,我重新整理出一份教程,希望对大家有所帮助。基于Xcode7.1.1版本,模拟器iphone6,9.1系统。部分地方直接摘自网络,省时省心省力。多图预警!!!转载 2016-09-23 12:13:31 · 1691 阅读 · 0 评论 -
本地配置文件比对更新覆盖
检测本地文件是否更新过,我用过几种方法,写出来跟大家共享:第一种:直接比对文件是否变化了,这个肯定不会错,但是就是比对的有点多: NSMutableArray *tempArray = [NSMutableArray arrayWithCapacity:0]; NSMutableArray *writeTempArray = [NSMutableArray array];原创 2016-09-06 10:32:35 · 1017 阅读 · 0 评论 -
同一个project创建多个target
很早就想写关于这个的博客了,但是一直没有写,今天终于有时间,但是中间卡了一会,我还谷歌了下,所以写这篇博客,分享给大家,所以,别走的太快,适时地放慢脚步总结一下还是蛮好的。1.选中你的项目名,在右侧有一个targets,点击target2.copy一个target3.copy3.原创 2016-09-02 17:35:06 · 992 阅读 · 0 评论 -
Xcode8自动管理签名文件
刚开始用这个Xcode8的自动管理还真是有点不习惯,不过当你会用之后就会发现真的很省事,今天我就说说我使用的心得当然了,还是一样,打包流程,上线流程啊什么的,我今天就不说了,想看的话,可以看看我的这一篇博客:iOS app上架图文教程 一样,虽然是自动管理,但你仍然是需要安装对应的证书,签名文件,安装完成之后:把code Signing identity 和Provisioning Pro原创 2016-11-09 14:16:08 · 5001 阅读 · 2 评论 -
iOS 教你学UI控件的封装
同学们肯定在项目中都会遇到自定义控件,需要自己来封装,下边我和大家一起探讨一下关于UI控件的封装,后续会给demo,这节就先介绍封装的那些需要重写的方法。示例如下:#import "FirstCustomView.h"@implementation FirstCustomView{ NSInteger curX; NSInte原创 2015-12-24 10:59:33 · 1070 阅读 · 0 评论 -
APNs消息推送开发流程图(证书创建)图解
过了年算是去年了,去年年底配合后台做了消息推送,现在整理下分享给大家:远程推送:流程大致如下:1.生成CertificateSigningRequest.cerSigningRequest文件2.将CertificateSigningRequest.cerSigningRequest上传进developer,导出.cer文件3.利用CSR导出P12文件4.向APNS请求原创 2017-02-06 17:13:09 · 3447 阅读 · 0 评论 -
你需要的iPhoneX适配
1、启动App 对于一些老项目,在启动图上,可能没有采用xib或者SB进行适配的,所以可能会出现如图一,这样导致整个项目运行就会不能完全贴合。图一解决办法,在项目设置里面直接用LaunchScreen.xib或者LaunchScreen.storyboard进行配置启动图,这样项目就会完整显示了。如图二图二2、程序进到程序的首页。如果采用转载 2017-09-20 17:06:31 · 2497 阅读 · 1 评论 -
苹果推送(push Notification)的那点儿事
苹果给我们的推送有两种,一种是本地推送,一种就是远程推送。本地推送比较简单,在项目中我们基本不会用到,不过还是大致说一下,也好更好的理解远程推送。本地推送(Local Notification)思想: 1.客户端注册本地通知 2.客户端接收通知 3.客户端处理通知中的数据其实也就是这样,中间没有什么逻辑,就是你注册完之后,等着接收,接着处理通原创 2017-03-07 15:33:59 · 11492 阅读 · 1 评论 -
APPStore上架应用支持IPV6的那些事
果然是苹果打个哈欠,iOS行业内就得起一次风暴呀。自从5月初Apple明文规定所有开发者在6月1号以后提交新版本需要支持IPV6-Only的网络,大家便开始热火朝天的研究如何支持IPV6,以及应用中哪些模块目前不支持IPV6。一、IPV6-Only支持是啥?首先IPV6,是对IPV4地址空间的扩充。目前当我们用iOS设备连接上Wifi、4G、3G等网络时,设备被分配的地址均是IPV4地址,原创 2017-04-01 09:31:39 · 26109 阅读 · 2 评论 -
apple API常用英语名词
苹果API常用英语名词0. indicating 决定1.in order to 以便2.rectangle bounds 矩形尺寸3.applied 应用4.entirety 全部5.technique 方法6.truncating 截短7.wrapping 换行8.string 字符串9.familiar style 简体10.The st原创 2016-01-18 13:48:03 · 641 阅读 · 0 评论 -
Widget开发的那点儿事
Widget理解在我看来,widget其实就是一个小型的APP,可做简单,可做复杂,最简单的:一个主APP的logo,一个按钮(可点击进入主APP);比较复杂的:Widget有主APP的某一个或者几个模块的功能,其中有UI的展示和数据的对接等。Widget开发流程BundleId的创建 就像前文说的,我们做的这个Widget其实就是一个新的小型APP,所以需要有一个对应的Bundl原创 2017-03-27 13:52:27 · 633 阅读 · 0 评论 -
iOS手势开发的那点儿事
闲了下来,自己写写demo,把iOS有的几种手势大致整理了下: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. mImageView = [[UIImageView alloc]原创 2017-03-27 17:08:42 · 632 阅读 · 0 评论 -
iOS 学会使用delegate和block<二>
继上篇我们聊的delegate后,这节我们一块聊聊这个block,在开发中block我用到了两种情况,要不就是通过block来传值,要不就是通过block来传事件,下边我讲分两部分来讲block的传值和block的传事件。第一:block传值block传值在我理解来就是比如说是两个界面,界面之间的传值,一个界面的值生成后,通过block保存起来,然后,block里边就有第一个界面的值了,有原创 2015-12-22 16:53:56 · 1918 阅读 · 0 评论 -
iOS app上架图文教程及注意事项
一、前言:如果你是一个iOS developer,而你正好看到了这篇文章,我只能说你是幸运的,app上架图文教程在下边。二、准备:一个已付费的开发者账号(账号类型分为个人(Individual)、公司(Company)、企业(Enterprise)、高校(University)四种类型,每年资费分别为$99、$99、$299、免费原创 2016-09-19 17:13:06 · 7814 阅读 · 3 评论 -
预编译头文件之pch文件的创建及使用
我们在项目中很多时候会用到预编译头文件,那么什么时候适合创建这个所谓的预编译头文件,这个预编译头文件又到底是什么用呢? 预编译头的概念: 所谓的预编译头就是把一个工程中的那一部分代码,预先编译好放在一个文件里(通常是 以.pch为扩展名的),这个文件就称为预编译头文件这些预先编译好的代码可以是任何的 C/C++代码,甚至是inline的函数,但是必须是稳定的,在工程开发的过原创 2016-07-18 16:37:58 · 935 阅读 · 0 评论 -
谈Objective-C block的实现
大神写的,我转过来大家和大家一块分享,写的太好,太底层了,话不多说,快看文章目录1.前言2.实现方式2.1.数据结构定义2.2.研究工具:clang3.NSConcreteGlobalBlock 类型的 block 的实现4.NSConcreteStackBlock 类型的 block 的实现5.NSConcreteMallocBlo转载 2016-07-21 17:51:38 · 492 阅读 · 0 评论 -
Xcode如何清理缓存和证书
我们用了一段时间后,就该把证书和缓存什么的清理下,不然造成什么紊乱了什么的总归不好,随着Xcode7以后可以免费真机测试之后,手机上的证书是很多的,怎么清理呢,单击finder---->GO------>Go to foder---->在文本框中输入:~/Library/MobileDevice/Provisioning Profiles,进入证书这个文件夹,选择需要删除的,delete就好。原创 2016-02-03 14:47:54 · 3255 阅读 · 0 评论 -
找回Button
封装了一个view,里边有button,但是我在使用这个封装的view的时候我想用这个button,但又不是全局的,好吧,使用tag值也是可以找到这个button的, UIButton *sender = (UIButton *)[self viewWithTag:MarketButtonTag];在这个界面想对button做什么操作都可以了。。。。原创 2016-03-10 20:16:14 · 341 阅读 · 0 评论 -
tag值重复定义
错误原创 2016-03-15 17:28:18 · 675 阅读 · 0 评论 -
项目问题
加班了两周,项目比较紧,中途遇到了几个问题,有的卡了好久:第一个:是今天下午遇到的,我封了一个VIew,这个View有button,我在用这个VIew的界面需要提取出这个button,于是我就用VIewWithTag:(对应的tag值),然后我在用的时候,取出来是一个label,真是奇葩的问题,我忙活了好久,最后竟然是。。。。说起来真是有点二,我在这个button定义的时候通过结构体给他定义了原创 2016-03-15 20:58:39 · 295 阅读 · 0 评论 -
中文,英文和数字的字体设置问题
调UI的时候遇到这么个奇葩的问题,是这样的,我一个label上显示有字,其中包含英文,中文和数字,我设置字体后很明显显示的不一样,因为是在cell中加的嘛,所以调试来调试去,做了很多工作,后来实在是感觉代码没问题,我就问了老大,老大看了代码后也确实没找到什么代码问题,这就奇葩了,我就又问了问UI,终于解决了,原来是这样的,中文,英文,数字都设置为同一种字体后,显示出来的效果是很明显的,中文会比英文原创 2016-05-20 17:46:55 · 2068 阅读 · 0 评论 -
iOS 横竖屏切换(源码讲解,图加源码)
现在手头上项目我们团队干了半年了,还有一个月就要提交App Store了,突然间,产品那边跟我们说某一个,某一个界面需要支持横屏,我只能说真是奇葩,团队中的人都在抱怨说没法做,因为之前没有这个需求,做了半年了,你要是之前就说可以支持横屏,框架就不会这么写了,。。。确实,产品真坑,但是既然提出来了,你就得做吧,抱怨是没什么用的,还是好好研究比较重要,我就把这个活接了下来,看网上别人的思想,看苹果文档原创 2016-06-29 09:47:15 · 1279 阅读 · 0 评论 -
多台设备同步 NSUserActivity详解
我们看NSUserActivity的官方文档,可以看到下边的这些API:/* NSUserActivity encapsulates the state of a user activity in an application on a particular device, in a way that allows the same activity to be continued o原创 2016-07-13 14:19:00 · 5369 阅读 · 0 评论 -
NSString, char*, NSData类型之间的转换
1. NSString转化为UNICODE String:(NSString*)fname = @“Test”;char fnameStr[10];memcpy(fnameStr, [fname cStringUsingEncoding:NSUnicodeStringEncoding], 2*([fname length]));与strcpy相比,memcpy并不是遇到'\0'就结束,原创 2016-07-27 16:05:50 · 4227 阅读 · 0 评论 -
XML Json数据
一、XMLXML即可扩展标记语言(eXtensible Markup Language)。标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用象XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从SGML中简化修改出来的。它主要用到的有XML、XSL和XPath等。原创 2016-01-13 13:14:17 · 804 阅读 · 0 评论 -
iOS 同步 异步 并发 并行 多线程的讲解与区别
1. 并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。其中两种并发关系分别是同步和互斥2. 互斥:进程间相互排斥的使用临界资源的现象,就叫互斥。3. 同步:进程之间的关系不是相互排斥临界资源的关系,而是相互依赖的关系。进一步的说明:就是前一个进程的输出作为后一个进程的输入,当第一个进程没有输出时第二个进程必须等待。具有同步转载 2016-01-06 17:27:40 · 7438 阅读 · 1 评论 -
iOS xcode 文件中常见后缀名的释义
进了一家新公司,看了公司的源码,文件中有好几种后缀名,因为自己没接触过之前,所以自己在网上搜了一些资料,知道了其中的奥妙,给大家分享一下.h 这个大家肯定都知道,就是头文件声明,在头文件中,我们可以声明方法,变量等.m 这个就是文件的实现部分,在oc中,也可以在.m中写一些私有方法或者私有变量(这个就扯到了一个问题,OC中有私有方法?答案是没有,但是我们可以在.m中写,这样可以实现java原创 2015-12-23 09:57:43 · 3905 阅读 · 0 评论 -
你真的了解iOS代理设计模式吗?
我之前的博客中有delegate相关的介绍,不过今天看到一篇介绍delegate的文章,感觉写的太好,太系统了,就在这里mark一下,分享给大家你真的了解iOS代理设计模式吗?在项目中我们经常会用到代理的设计模式,这是iOS中一种消息传递的方式,也可以通过这种方式来传递一些参数。这篇文章会涵盖代理的使用技巧和原理,以及代理的内存管理等方面的知识。我会通过这些方面的知识,转载 2016-07-21 12:16:09 · 1070 阅读 · 0 评论 -
HTTP.Socket.TCP详解
这会没事,整理了一下HTTP,socket,TCP之间的关系与区别,我们在面试的时候应该会经常问到这方面的东西,那么什么是HTTP呢?HTTP属于老话题了,在项目中我们经常需要往服务端发POST或者GET请求,但是对于HTTP的了解不应只局限于此。千里之行,始于足下。越想走的远,基本原理就应该了解的透彻全面一些,仅仅停留在使用ASIHttpRequest或者AFNetW原创 2016-07-21 10:44:12 · 2668 阅读 · 2 评论 -
KVO详解
今天下班了,看了一天的KVO,明天写篇博客和大家分享下原创 2016-07-20 17:44:35 · 321 阅读 · 0 评论 -
状态栏的隐藏与显示及状态栏字体颜色的修改(精华版)
今天一个项目需求,就是关于状态栏的,作为一个资深的两年开发者来说,不是难事,于是我直接就setStatusBarHidden statusBarStyle什么的都用上了,可是,注意啊,有可是了。是这样的,我也不说我遇到什么问题了,就直接说对状态栏的掩藏显示,字体颜色调整方法吧首先,状态栏的隐藏与显示,别听网上的人们随便说,都是胡说八道,到最后我也没看到我想要的结果,说的基本都一样,关键是没有一原创 2016-07-15 16:07:06 · 3518 阅读 · 0 评论 -
IOS XIB自定义View
我们可以用xib来自定义cell,自定义viewController,可是我之前还没有用xib来自定义View,下边是一个大牛写的,很通透,转给大家分享一般自定义View 代码方式 有 在初始化的时候添加 子Views- (id)initWithFrame:(CGRect)frame { self = [super initWith原创 2016-07-20 09:41:26 · 390 阅读 · 0 评论 -
程序中引入crash日志文件
看安卓crash后都有什么crash日志文件,直接就锁定在哪crash,为什么crash,感觉不错,自己也摸索一下,在iOS程序中我也写了一个crash日志文件,便于更好的监测和修复项目。我在程序入口的时候写入下边的代码://异常处理函数static NSString* CRASHLOG_PATH = @"__pbmobilecrash.log";void UncaughtExcept原创 2016-07-29 11:06:06 · 343 阅读 · 0 评论 -
runLoop详解
Objective-C之run loop详解 做了一年多的IOS开发,对IOS和Objective-C深层次的了解还十分有限,大多还停留在会用API的级别,这是件挺可悲的事情。想学好一门语言还是需要深层次的了解它,这样才能在使用的时候得心应手,出现各种怪异的问题时不至于不知所措。废话少说,进入今天的正题。不知道大家有没有想过这个问题,一个应用开始运行以后放在那里,如果不对它转载 2016-07-29 10:37:14 · 401 阅读 · 0 评论