
IOS
文章平均质量分 94
千羽千寻
生命要浪费在美好的故事上
展开
-
UIApplicationDelegate 执行顺序
(1)点击桌面图标正常启动App或者杀死进程后点击推送消息启动App1.application:willFinishLaunchingWithOptions2.application:application:didFinishLaunchingWithOptions3.applicationDidBecomeActive4.application:didRegisterFo转载 2017-09-05 20:56:52 · 495 阅读 · 0 评论 -
Xcode中other linker flags的作用
使用场景在ios开发中,我们经常会使用到第三方的一些静态库,导入第三方类库运行程序后你会发现,编译时可以正常编译但是运行时会app会闪退,报出selector not recognized的错误。一般的第三方库的开发文档中都会写出这种问题的解决方法,如在Other Linker Flags中加入-ObjC或者-all_load或者-force_load这样的解决方法。为什要这要做呢?报转载 2017-11-25 18:15:26 · 13209 阅读 · 0 评论 -
iOS之Header Search Paths和User Header Search Paths和library searchpath
Header Search Paths 顾名思义就是用来存放 Project 中头文件的搜索根源,没有被add到项目里的头文件,可以通过配置Header Search Paths 来引入头文件,这样的好处可以不让project 包含的文件太多,便于管理。 浅显一点的区别是,编码时候通过 #include 引入头文件的方式有两种 是只从 Header Search Paths 中搜转载 2017-11-27 15:09:10 · 1755 阅读 · 0 评论 -
iOS库 .a与.framework区别
一、什么是库?库是共享程序代码的方式,一般分为静态库和动态库。二、静态库与动态库的区别?静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。三、iOS里静态库形式?.a和.framework四、iOS里动态库形式?转载 2017-11-27 15:26:17 · 2305 阅读 · 1 评论 -
Xcode Search Paths相关配置
开发的过程当中,导入第三方库(framework/.a)或者下载使用别人的demo会经常会遇到一些关于库的导入的问题。而导入第三方库后,这写库的路径应该现在在导入当前项目target的Search Paths中,具体的设置路径:target -> Build Settings -> Search Paths -> Framework Search Paths 或者 Library Search P转载 2017-11-27 15:52:38 · 3630 阅读 · 0 评论 -
CocoaPods:在多target中安装相同pod的优雅解决方案
Xcode7中令人激动的功能之一就是能够进行原生UI测试(感谢苹果),所以我在开发新的Xcode 7 / Swift 2项目时,我把重点放到了这上面来。在单元测试的过程中,Quick和Nimble 用起来真的很舒服,所以我也想把这些类库用在UI测试中。使用CocoaPods安装Quick和Nimble很简单,然而问题是,你仅仅只是想把Quick和Nimble安装到测试的target中。转载 2018-01-22 11:55:08 · 1160 阅读 · 0 评论 -
Objective-C协议(protocol)和委托(delegate)的基本概念
参考文章:http://www.cnblogs.com/cokecoffe/archive/2012/05/05/2537109.htmlhttp://blog.youkuaiyun.com/lovefqing/article/details/8268397简单的介绍1.1定义协议(protocol):协议的作用类似地C++中对抽象基类的多重继承。类似于Java中的转载 2018-01-30 19:33:37 · 381 阅读 · 0 评论 -
Xcode6 中URL Scheme的具体使用
应用程序的跳转一共分为两种情况: 1.从程序A跳转到B 从程序A跳转到B只需要知道B的URL scheme。 2.从程序B回到A 从程序B回到程序A,其实原理一样。在B中要知道A的URL scheme,即可直接跳转。 因此 实际上想要跳转到微信只需要知道它的scheme就可以直接进行跳转。 但是,要想从微信跳转回本应用,那微信就必须知道本应用的URL scheme。就像转载 2018-01-30 21:00:56 · 1767 阅读 · 0 评论 -
打开另一个APP(URL Scheme与openURL)
目标平常我们做iOS开发,会经常遇到打开其他的APP的功能。本篇文章讲的就是打开别人的APP的一些知识。我们的目标是:打开别人的APP让别人打开我们的APPiOS9的适配问题使用URL Schemes传递数据准备工作建立一个名为OpenApp的工作空间,用来存放我们的两个工程建立这个工作空间主要是为了让我们后面建立的两个工程能在一个Xcode页面上管理,方便讲解和管理。挺简单转载 2018-01-30 21:19:46 · 5133 阅读 · 0 评论 -
iOS应用中检测第三方app是否安装及跳转解决方案
最近在做支付宝支付,需要验证客户端是否安装支付宝钱包App,可通过Url Scheme框架实现。参考文档 :http://www.jianshu.com/p/28f517775214 1、 以支付宝为例,验证是否安装支付宝开发步骤: step1. 验证手机端是否安装 支付宝应用NSURL * alipay_app_url = [NSURL URLWithS转载 2018-01-30 21:20:17 · 4503 阅读 · 0 评论 -
iOS Provisioning Profile(Certificate)与Code Signing详解
引言 关于开发证书配置(Certificates & Identifiers & Provisioning Profiles),相信做 iOS 开发的同学没少被折腾。对于一个 iOS 开发小白、半吊子(比如像我自己)抑或老兵,或多或少会有或曾有过以下不详、疑问、疑惑甚至困惑:什么是App ID?Explicit/Wildcard App ID有何区别?什么是App转载 2018-01-17 16:09:05 · 956 阅读 · 0 评论 -
沙盒和NSBundle
沙盒1、沙盒机制介绍iOS中的沙盒机制是一种安全体系。每个iOS程序都有一个独立的文件系统(存储空间),而且只能在对应的文件系统中进行操作,此区域被称为沙盒。应用必须待在自己的沙盒里,其他应用不能访问该沙盒。所有的非代码文件都要保存在此,例如属性文件plist、文本文件、图像、图标、媒体资源等。沙盒是用来存入缓冲区的,APP关掉,缓存被自动清理。沙盒路径:NSLog(@"%@",NSHom转载 2018-02-02 21:50:34 · 475 阅读 · 0 评论 -
iOS开发学习图谱
语言学习iOS基础iOS高级操作系统Frameworks开发进阶设计模式架构模式开发工具第三方服务App打包上传与审核持续集成开源项目语言学习屏幕快照 2017-04-25 下午6.08.33.png屏幕快照 2017-04-25 下午6.09.57.png屏幕快照 2017-04-25 下午6.10.20.png转载 2018-02-02 21:54:18 · 413 阅读 · 0 评论 -
获取iOS设备唯一标识
在开发过程中,我们经常会被要求获取每个设备的唯一标示,以便后台做相应的处理。我们来看看有哪些方法来获取设备的唯一标示,然后再分析下这些方法的利弊。 具体可以分为如下几种: 1、UUID 2、IDFA 3、IDFV 4、MAC 5、UUID下面我们来具体分析下每种获取方法的利弊1、UDID什么是UDID UDID 「Unique Device Iden转载 2018-01-29 13:39:47 · 1403 阅读 · 0 评论 -
Appdelegate和Windos内容的简单介绍
Appdelegate和Windos内容的简单介绍学习ios有一段时间了,但是对appdelegate中的那一堆方法一直都不是很清楚是干嘛用的,今天来认真的总结学习一下。Window的创建:iOS程序启动完毕后,先创建UIwindow,再创建控制器,创建控制器的view,然后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了。一个iOS程序之所以能显示到屏幕上,完全是...转载 2018-02-09 16:13:09 · 245 阅读 · 0 评论 -
UINavigationController与UINavigationBar详解
蚊香酱 关注2017.02.16 19:24* 字数 3489 阅读 3594评论 6喜欢 46UINavigationController与UINavigationBar详解.pngUINavigationController相关概述UINavigationController继承自UIViewController, 专门用于展示层级结构的内容, 可以让我们更高效地将层级结构的内容呈现给用户. ...转载 2018-02-09 16:28:42 · 1377 阅读 · 0 评论 -
UINavigationBar 使用总结
UINavigationBar是我们在开发过程中经常要用到的一个控件,下面我会为大家介绍一些常用的用法。1. 设置导航栏的标题这个不多说,直接上代码self.navigationItem.title = @"UINavigationBar使用总结";2. 设置导航栏的背景颜色//通过barTintColor来设置背景色 self.navigationController.navigationBa...转载 2018-02-09 16:52:05 · 346 阅读 · 0 评论 -
在微信里点击拉起APP到特定页面---Apple Universal Link的摸索
我们在微信里查看新闻类APP比如网易新闻、今日头条的文章时,会看到类似于“在APP里查看更多评论”、”在APP里查看原文”的按钮功能,如果用户安装了相应的APP,点击后离开微信,在APP里打开原文。 我们也想做这个需求。安卓貌似没有如此完美的功能可实现。调研了苹果的Universal Link。它是iOS系统级的,不受微信的限制,可以很好的符合我们的需求。 ...转载 2018-02-08 14:09:45 · 2086 阅读 · 0 评论 -
最新 macOS Sierra 10.12.3 安装CocoaPods及使用详解
cocoapods官网:https://guides.cocoapods.org一、什么是CocoaPods每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs 的 npm。随着 iOS 开发者的增多,业界也出现了为 iOS 程序提供依赖管理的工具,它的名字叫做:CocoaPods。CocoaPods项目的源码 在 Github 上管理。该项转载 2017-11-25 17:47:06 · 224 阅读 · 0 评论 -
iOS开发中的一些常用小技巧
==========================================================================================================获得app的版本号和名称以及检查更新版本提示一. 获取版本号和应用名称线上app都有一个版本号,我们也经常会发现在设置中会有一个当前应用的版本号转载 2017-11-30 10:53:41 · 473 阅读 · 0 评论 -
iOS系统架构和常用框架
(一)iOS的系统架构iOS基于UNIX系统,iOS的系统架构分为四层,由上到下一次为:可触摸层(Cocoa Touch layer)、媒体层(Media layer)、核心服务层(Core Services layer)、核心操作系统层(Core OS layer),如下图: (1)触摸层:为应用程序开发提供了各种常用的框架并且大部分框架与界面有关,本质上来说它负转载 2017-11-29 16:23:46 · 19152 阅读 · 2 评论 -
OC基础一
OC语言前期准备一、OC简介Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码。可以使用OC开发mac osx平台和ios平台的应用程序。拓展名:c语言-.c OC语言.-m 兼容C++.-mm注:其实c语言和oc甚至任何一门语言都只是我们为了实现一些功能,达到一些效果而采用的工具,抛开语法转载 2017-09-06 10:26:13 · 679 阅读 · 0 评论 -
使用纯swift代码文件制作framework
使用纯swift代码文件制作framework因为最近我们公司的一个客户要求我们使用swift编写程序并且将API封装成framework的形式提供给他们,所以我就开始了swift实践之路。程序编写完之后,我就琢磨怎么封装成framework的形式,因为swift不像OC,分.h和.m的形式,那么只暴露.h出来即可,而swift是所有实现都在一个文件里,会不会把源码转载 2017-09-18 14:30:36 · 915 阅读 · 0 评论 -
iOS开发中Member Center的一些理解
在iOS开发过程中,不可避免的要和证书打交道,真机调试、App上架、打包给测试去测试等都需要搞证书。在此过程中我们会遇到很多的问题,但是如果掌握了真机调试的原理和本质;遇到问题,我们就更容易定位问题之所在,从而迅速的解决问题。这篇文章不是一步步教给你证书,描述文件的制作(其实制作步骤是非常简单的),而是尽可能的讲明白Member Center中的一些知识及原理。并且此文不涉及如何申请开发者账号,以转载 2017-09-27 01:43:35 · 3343 阅读 · 0 评论 -
iOS开发之同一应用设置不同图标和名称
经常在开发中遇到同一个App会有很多渠道版本,比如OTA内部测试版本,AppStore发布版本等。针对这些不同的版本我们通常会选择不同的图标、应用名称等,效果如下图所示:P.S上面使用的两个测试图标分别来源于土巴兔和乐视TV的iPhone版本APP的图标,是两个非常不错的APP,感谢你们。Bundle IDios系统区分不同的App是否相同是根据App的Bund转载 2017-09-27 16:20:03 · 941 阅读 · 0 评论 -
iOS真机调试步骤参考
/*************************************************************1********************************************************************//*********************************************************转载 2017-09-28 11:04:50 · 409 阅读 · 0 评论 -
iOS真机调试与发布操作步骤
1.打开应用程序—>【钥匙串访问】—>【证书助理】—>【从证书办法机构请求证书】 2.在【用户电子邮件地址】填入apple账户用的邮箱,选择【存储到磁盘】,点击【继续】,会在磁盘保存一个【CertificateSigningRequest.certSigningRequest】文件 3.登录:https:/转载 2017-09-28 11:06:03 · 1392 阅读 · 0 评论 -
IOS中UIApplication:openURL的一些使用
在iOS开发中,经常需要调用其它App,如拨打电话、发送邮件等。UIApplication:openURL:方法是实现这一目的的最简单方法,该方法一般通过提供的url参数的模式来调用不同的App。通过openURL方法可以调用如下应用:调用谷歌地图(Google Maps)调用邮件客户端(Apple Mail)拨号(Phone Number)调用短信(SMS)调用浏览器(S转载 2017-09-28 11:30:57 · 2332 阅读 · 0 评论 -
IOS中如何判断程序是否是第一次安装使用
在appdelegate.m中找到 “application:didFinishLaunchingWithOptions:”方法, 添加以下代码:[html] view plaincopyif (![[NSUserDefaults standardUserDefaults] boolForKey:@"everLaunched"]) {转载 2017-09-28 11:49:07 · 1117 阅读 · 1 评论 -
iOS开发中的Assets.xcassets和Assets.car
地址:http://daipei.me/posts/assets_in_ios/ 转载请注明出处 我的博客搬家了,新博客地址:daipei.me写在前面在iOS开发中,最终项目的大小跟项目中的图片关系很大,因为代码的大小是很小的,可以说影响最终项目大小的主要就是项目中的图片资源,所以如何组织项目中的图片资源显得尤为重要。正文Assets.xcassets文件转载 2017-09-28 15:51:34 · 2301 阅读 · 0 评论 -
iOS APP从打包到发布appStore完整流程(含4位版本号实现)
一.iOS APP从打包到发布appStore完整流程1.首先确保代码里面连接的是正式环境,选择上传appStore对应的pp文件(如果1.3.8.1包在appstore不是已经审核通过,都可以再次用1.3.8.1版本上传,只要bulid和上次不一样既可以,一般是累加)Paste_Image.png因为生产环境archive包其实选的是这个configration转载 2017-09-12 18:58:54 · 1622 阅读 · 0 评论 -
xcode的环境变量,Build Settings参数,workspace及联编设置
一、xcode4中的环境变量$(BUILT_PRODUCTS_DIR)build成功后的,最终产品路径--可以在Build Settings参数的Per-configuration Build Products Path项里设置$(TARGET_NAME)目标工程名称$(SRCROOT)工程文件(比如Nuno.xcodeproj)的路径转载 2017-11-17 19:26:29 · 3340 阅读 · 0 评论 -
iOS APP打包上传到APPstore的最新步骤
一、前言:作为一名iOS开发者,把辛辛苦苦开发出来的App上传到App Store是件必要的事。但是很多人还是不知道该怎么上传到App Store上下面就来详细讲解一下具体流程步骤。二、准备:一个已付费的开发者账号(可分为):账号类型分为个人(Individual)公司(Company)企业(Enterprise)高校(University)四种类型每年资费分别为$转载 2017-11-14 16:20:45 · 2051 阅读 · 0 评论 -
Xcode操作流
1.Xcode IDE概览说明:从左到右,依次是“导航窗格(Navigator)->边列(Gutter)->焦点列(Ribbon)->代码编辑窗口(Standard/Primary Editor)”。边列(Gutter):显示行号和断点。焦点列(Ribbon):灰色深度与代码嵌套深度相关:鼠标悬停可突出显示右侧相应代码块(Focus co转载 2017-11-20 10:12:59 · 327 阅读 · 0 评论 -
iOS Provisioning Profile(Certificate)与Code Signing详解
引言 关于开发证书配置(Certificates & Identifiers & Provisioning Profiles),相信做 iOS 开发的同学没少被折腾。对于一个 iOS 开发小白、半吊子(比如像我自己)抑或老兵,或多或少会有或曾有过以下不详、疑问、疑惑甚至困惑:什么是App ID?Explicit/Wildcard App ID有何区别?什么是App转载 2017-11-20 11:50:09 · 346 阅读 · 0 评论 -
Xcode -Target , PROJECT 区别 - Xcode
写在前面 : 从项目中遇到一些问题, 简单总结一下.来个图感受下图1 : 一份代码, 六份Tatgets------简单介绍一下------project就是一个项目,或者说工程,一个project可以对应多个target(你看看上面的图)targets之间完全没有关系。但target和project有关系,target的setting会从project settings中继承一部转载 2017-11-20 12:12:19 · 814 阅读 · 0 评论 -
Xcode Build Settings 分析
Architecturespicture1Additional SDKs在编译的时候需要附加的SDK。Architectures支持的处理器架构。支持的指令集越多,就会编译出包含多个指令集代码的数据包,对应生成二进制包就越大,最终目标文件也会变大。指令集可以参考:http://www.jianshu.com/p/3fce0bd6f045Base SDKApp所能支持的最大iOS版本。Xco转载 2017-11-20 15:58:27 · 4690 阅读 · 0 评论 -
Universal Link 前端部署采坑记
前言:文章会适当说一些如何开发iOS上的universal link,但类似的文章太多了一艘一大堆,每篇都介绍的挺清楚,因此也不是重点本文更加会侧重从前端的角度,将整个universal link 部署应用到wap app中的一些策略和一些问题解决办法其实整个Universal Link没啥难的,真正上线过Universal link的人这些应该都趟过一遍了,本文主要是我们team去应用Unive...转载 2018-02-08 14:18:03 · 1542 阅读 · 0 评论