关闭

jenkins+xcode+蒲公英实现ipa自动化打包

原文 一、简述 公司特意配了一台mac机给测试用,并且打包发布这些功能都要在这台测试机上完成,老大特意让我去研究一下jenkins实现自动化打包,好吧,那就去看吧。百度搜一下,Mark一下简介:jenkins是一个广泛用于持续构建的可视化web工具,持续构建即各种项目的”自动化”编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:Java, c#, PHP等)的项目构建,也完全兼容...
阅读(70) 评论(0)

将iOS项目进行子工程化

在iOS项目开发中,随着项目的越来越大,工程的结构化会变差,编译的速度也会越来越慢。使用静态库或动态库的方式来构建子工程不仅可以加快项目的编译速度,从结构上,也优化了项目的组织。有两种方式来来对项目进行子工程化,可以在项目中创建子项目,也可以创建并列的项目,建立项目依赖。需要注意,无论哪种方式,你都应该尽量保证子工程不要用到主工程中的内容,如果必须这样做,你可以采用代理或其他回调编程方式来转交给主工...
阅读(90) 评论(0)

iOS实现断点续传

文章来源:《iOS实现断点续传》网络下载是我们在项目中经常要用到的功能,如果是小文件的下载,比如图片和文字之类的,我们可以直接请求源地址,然后一次下载完毕。但是如果是下载较大的音频和视频文件,不可能一次下载完毕,用户可能下载一段时间,关闭程序,回家接着下载。这个时候,就需要实现断点续传的功能。让用户可以随时暂停下载,下次开始下载,还能接着上次的下载的进度。今天我们来看看如何自己简单的封装一个断点续传...
阅读(63) 评论(0)

iOS开发 HTTP协议详解

HTTP属于老话题了,在项目中我们经常需要往服务端发POST或者GET请求,但是对于HTTP的了解不应只局限于此。千里之行,始于足下。越想走的远,基本原理就应该了解的透彻全面一些,仅仅停留在使用ASIHttpRequest或者AFNetWorking传个参数发个请求的程度上是不够的。这篇文章就是带你全方面回顾一下HTTP。通过本文你能收获哪些内容: 完整HTTP请求与响应包含的必要元素 HTTP不同...
阅读(74) 评论(0)

TCP协议详解

为什么会有TCP/IP协议在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。但是简单的连到一起是远远不够的,就好像语言不同的...
阅读(87) 评论(0)

iOS开发中,各个UI控件之间的继承关系

(图片来源于网络) (图片来源于网络)注:UICollectionView也是继承自UIScrollView...
阅读(68) 评论(0)

iOS转屏

iOS提供了在设备旋转时,界面显示发生相应适配的能力,已达到方便用户使用并提供最佳显示效果的目的。开发者需要指定应用支持的显示方向,并对界面显示做出对应的适配。 现在的app绝大部分都是从iOS7开始支持了,所以iOS6之前的转品不在本文的考虑范围 一、两种旋转方向 1. 设备方向(device orientation) 2. UI显示的方向 iOS提供了在设备旋转时,界面显示发生相应适配的...
阅读(196) 评论(0)

iOS .ips(crash)崩溃报告文件分析

对于我们iOS开发者来说,最心碎的事莫过于苹果审核一个星期后上架app store,而第二天就报出闪退bug。   iOS app的所有崩溃记录都会记录在设备上,所以对于和我一样没有集成让用户发送崩溃报告功能的iOS开发者来说,要获得crash文件就必须先连上崩溃过的 机器,然后打开Xcode,选择Window -> Devices,选择你自己的机器,然后点击View Device L...
阅读(175) 评论(0)

iOS-程序的启动过程以及相关的注意事项

iOS程序运行原理图 虽然建立了一个App,对于它的执行过程我们还是一无所知,让我们首先找到它的入口,Support Files/main.mint main(int argc, char *argv[]) { @autoreleasepool { /* int argc, char *argv[], NSString *principalCla...
阅读(68) 评论(0)

Block的解析

一,block是什么?*带有自动变量的匿名函数。 ————引自《iOS与OS X多线程和内存管理》* 1.匿名函数 首先blocks是c语言的扩充功能 c语言中函数是这个样子的:void func() { printf("hello world"); }那么,block是一个什么样子的呢?^void () { printf("hello world"); }这种不带名的函数就...
阅读(66) 评论(0)

不在appIcon上显示推送数量,但是在系统通知栏保留推送通知的方法

细心的同学会发现这样一个情况,当我们执行以下代码:[UIApplication sharedApplication].applicationIconBadgeNumber = 0;虽然appIcon上面的数字消除了,但是通知栏中所有的推送也会被清除。那么如何既让数字消失,又保留通知栏的推送信息呢?本人呕心沥血,查遍了苹果的接口文档,搜遍了国内的博客,就是没找到。 但是,嘿嘿,肯定是找到了解决...
阅读(85) 评论(0)

copy和mutable copy

copy和mutable copy一,浅拷贝 只是指针的拷贝,并没有内存的改变。 二,深拷贝 会新生成一块内存,这块内存的初始值和原内存的值是相同的。但新内存存的值不可以改变 三,可变拷贝 也会新生成一个块新的内存,新内存的值和元内存的值是相同的,新内存存的值可改变。 代码如下:int main(int argc, const char * argv[]) { @autorele...
阅读(93) 评论(0)

不在appIcon上显示推送数量,但是在系统通知栏保留推送通知的方法

细心的同学会发现这样一个情况,当我们执行以下代码: [UIApplication sharedApplication].applicationIconBadgeNumber = 0;    虽然appIcon上面的数字消除了,但是通知栏中所有的推送也会被清除。那么如何既让数字消失,又保留通知栏的推送信息呢?本人呕心沥血,查遍了苹果的接口文档,搜遍了国内的博客,就是没找到。...
阅读(965) 评论(0)

空指针,空对象,野指针

1、nil:一般赋值给空对象; 2、NULL:一般赋值给nil之外的其他空值。如SEL等;   举个栗子(好重啊~):     [NSApp beginSheet:sheet                 modalForWindow:mainWindow                 modalDelegate:nil //pointing to an object...
阅读(449) 评论(0)

内存管理

1,原理: ObjC中内存的管理是依赖对象引用计数器来进行的:在ObjC中每个对象内部都有一个与之对应的整数(retainCount),叫“引用计数器”,当一个对象在创建之后它的引用计数器为1,当调用这个对象的alloc、retain、new、copy方法之后引用计数器自动在原来的基础上加1(ObjC中调用一个对象的方法就是给这个对象发送一个消息),当调用这个对象的release方法之后它的...
阅读(132) 评论(0)
23条 共2页1 2 下一页 尾页
    个人资料
    • 访问:6444次
    • 积分:205
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:10篇
    • 译文:0篇
    • 评论:0条