
iOS编程
文章平均质量分 77
一个默默无闻的程序猿
这个作者很懒,什么都没留下…
展开
-
使用shell脚本自动合并framework
我们在做组件化或SDK的时候,经常会打静态库或动态库framework包,最后为了能适配模拟器和真机都能运行,我经常使用命令行的lipo工具把两者合并。其实为了简化工作,可以使用shell脚本,在xcode上一次性编译合并完成。以上一篇的iOS创建framework静态库(SDK&组件化)工程为例来讲一下。一、新建Target为自动化打包创建一个target,在xcode菜单File – New – Target,选择Cross-platform,然后选Aggregate:取个名字:然原创 2020-08-05 14:43:39 · 769 阅读 · 0 评论 -
使用xcworkspace调试framework源码
项目开发中,经常会使用自己封装或第三方的framework,但是出现问题时,我们需要调试framework包里的代码,怎么把现有工程和framework包的源码相关联,一起调试呢?可以使用xcode提供的workspace把两个项目关联起来。一、创建xcworkspace打开xcode,菜单File – New – Workspace…创建完是一个空的workspace二、关联项目以上一篇iOS创建framework静态库(SDK&组件化)创建的两个项目为例菜单File – Add原创 2020-07-28 14:19:06 · 1006 阅读 · 0 评论 -
iOS创建framework静态库(SDK&组件化)
一、创建1、新建项目打开Xcode,菜单:File – New – Project…,选择iOS – Framework – Next,取名比如MySDK,保存。2、修改Schemes菜单 Project – Scheme – Edit Scheme…,Debug 改成 Release3、修改版本号和最低适配的iOS系统版本4、配置 Build SettingsBase SDK:iOS(基础系统)Build Active Architecture Only:NO(编译所有版本的Arc原创 2020-07-28 14:14:22 · 1700 阅读 · 0 评论 -
MPMoviePlayerController 电影播放器—IOS开发
MPMoviePlayerController 与AVAudioPlayer有点类似,前者播放视频,后者播放音频,不过也有很大不同,MPMoviePlayerController 可以直接通过远程URL初始化,而AVAudioPlayer则不可以。不过大体上用起来感觉差不多。废话少说进入体验。格式支持:MOV、MP4、M4V、与3GP等格式,还支持多种音频格式。首先你得引入 MediaPl转载 2014-05-06 16:35:51 · 2430 阅读 · 0 评论 -
AFNetworking介绍
AFNetworking是一个讨人喜欢的网络库,适用于iOS以及Mac OS X. 它构建于在NSURLConnection, NSOperation, 以及其他熟悉的Foundation技术之上. 它拥有良好的架构,丰富的api,以及模块化构建方式,使得使用起来非常轻松.例如,他可以使用很轻松的方式从一个url来得到json数据:1NSURL *url = [NSURL URLWithS转载 2014-05-06 17:11:16 · 874 阅读 · 0 评论 -
XMPP服务端——ejabberd for mac安装教程
最近想用XMPP做个聊天系统,上网找了下资料,决定服务端使用ejabberd,下面大致介绍下ejabberd在MAC下的安装过程。ejabberd的官网是:http://www.process-one.net/en/ejabberd/,有兴趣的朋友可以看看这里我用的版本是2.1.11:ejabberd-2.1.11-darwin-x86_64-installer.app.zip转载 2014-05-07 09:59:11 · 1304 阅读 · 0 评论 -
iOS ARC
ARC指南:http://download.youkuaiyun.com/detail/zkdemon/4213790ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机能在 iOS 5/ Mac转载 2014-05-07 10:23:23 · 698 阅读 · 0 评论 -
iOS CoreAnimation
核心动画,开发人员可以为他们的应用创建动态用户界面,而无需使用低级别的图形 API,如 OpenGL 来获取高效的动画性能。 前言,核心动画的好处1.简单易用的高性能混合编程模型。2.类似视图一样,你可以通过使用图层来创建复杂的接口。 通过是CALayer来使用更复杂的一些动画。 3.轻量级的数据结构,它可以同时显示并让上百个图层产生动画效果。 控制多个CALayer来显示动画效果 4.一套简单的转载 2014-05-07 10:25:31 · 585 阅读 · 0 评论 -
iOS录音和播放
录音要借助于AVAudioPlayer ,ta是 AVFoundation.framework 中定义的一个类,所以使用要先在工程中引入AVFoundation.framework。我们可以把 AVAudioPlayer看作是一个高级的播放器,它支持广泛的音频格式,原创 2014-05-06 15:22:41 · 1080 阅读 · 0 评论 -
MPMoviePlayerViewController和MPMoviePlayerController的使用
ios播放视频文件一般使用 MPMoviePlayerViewController 和 MPMoviePlayerController。前者是一个view,后者是个Controller。区别就是MPMoviePlayerViewController里面包含了一个MPMoviePlayerController先说MPMoviePlayerController首先要包含 #import 头文件转载 2014-05-06 16:33:47 · 1478 阅读 · 0 评论 -
iOS学习之Map,定位,标记位置的使用
iOS上使用地图比Android要方便,只需要新建一个MKMapView,addSubView即可。这次要实现的效果如下:有标注(大头针),定位,地图。1、添加地图1.1 新一个Single View app ,选择默认项,创建后,在ViewController.h [cpp] view plaincopy#import #import转载 2014-05-06 16:40:46 · 690 阅读 · 0 评论 -
AFNetworking 学习笔记
转载自:http://blog.sina.com.cn/s/blog_719d537e01017x82.htmlAFNetwork是一个轻量级的网络请求api类库。是以NSURLConnection, NSOperation和其他方法为基础的。下面这个例子是用来处理json请求的:NSURL *url = [NSURL URLWithString:@"https://alp转载 2014-05-06 17:10:33 · 766 阅读 · 0 评论 -
UITableView的使用详解
首先、对UITableView进行讲解,下面有对它进行实际的应用UITableView 显示大型内容的列表 单行,多列 垂直滚动,没有水平滚动 大量的数据集 性能强大,而且普遍存在于iPhone的应用程序中TableView转载 2014-05-06 17:02:36 · 1270 阅读 · 0 评论 -
发布应用到AppStore
今天我们介绍如何将我们做好的App上传到App Store。在这之前,你要准备好如下几样东西:1. 已开发好的应用程序2. 几幅960*640或960*600或640*960或640*920大小的屏幕截图3. 6个程序小图标,具体要求请参考:http://blog.youkuaiyun.com/htttw/article/details/79814124. 1个1024*1024的大图标转载 2014-05-06 17:04:05 · 603 阅读 · 0 评论 -
ios UIScrollView 循环滑动
demo地址 1: http://download.youkuaiyun.com/detail/take8619702/4767432demo地址 2: http://download.youkuaiyun.com/detail/take8619702/4767443demo地址 3: http://download.youkuaiyun.com/detail/take8619702/47674591.普通分转载 2014-05-07 10:14:57 · 712 阅读 · 0 评论 -
IOS崩溃 异常处理(NSSetUncaughtExceptionHandler)
iOS已发布应用中对异常信息捕获和处理 代码下载地址:http://download.youkuaiyun.com/detail/daiyelang/6740205 iOS开发中我们会遇到程序抛出异常退出的情况,如果是在调试的过程中,异常的信息是一目了然,但是如果是在已经发布的程序中,获取异常的信息有时候是比较困难的。 iOS提供了异常发生的处理API,我们在程序启动的时候可以添加这样的Han转载 2014-05-06 16:52:35 · 2617 阅读 · 0 评论 -
ios高效开发二--ARC跟block那点事
http://www.cnblogs.com/wqxlcdymqc/p/3227099.htmlhttp://blog.youkuaiyun.com/nicktang/article/details/6792972http://www.cnblogs.com/kiss007/archive/2013/03/15/2961169.html在iOS4.0推出了Blo转载 2014-05-06 16:58:56 · 1092 阅读 · 0 评论 -
iOS常用加密方法(aes、md5、base64)
iOS常用加密方法(aes、md5、base64)1、AES加密NSData+AES.h文件[plain] view plaincopy// // NSData-AES.h // Smile // // Created by 周 敏 on 12-11-24. // Copyright (c) 2012年 BOX. All rights re转载 2014-05-06 16:57:46 · 1628 阅读 · 1 评论 -
xcode5.0.2下国际化图文解说
之前从来没有做个国际化的东西,最近项目紧急通知:要最快的速度做出一个英文的版本(客户在国外等着用)。晕。网上看过的资料很多都是我这个版本以下。有些地方都不一致。特写这文章给自己留着。根据网上的资料,国际化主要分三个模块:1.icon模块。主要是桌面图标下的文字变化。2.程序内文字的变化。3.程序内图片的变化。1.icon模块先说说icon模块在xcode5.转载 2014-05-06 17:08:38 · 644 阅读 · 0 评论 -
设置请求超时的时间
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { [super viewDidLoad]; NSLog( @"this is First in viewDidLoad" );转载 2014-05-06 17:10:02 · 4002 阅读 · 0 评论 -
iOS7 UUID唯一标识
原文链接:http://blog.youkuaiyun.com/focusjava/article/details/12839517WWDC 2013已经闭幕,IOS7 Beta随即发布,界面之难看无以言表...,简直就是山寨Android。更让IOS程序猿悲催的是,设备唯一标识的MAC Address在IOS7中也失效了。IOS系统中,获取设备唯一标识的方法有很多:一.U转载 2014-05-06 16:31:37 · 742 阅读 · 0 评论 -
iOS7 UIKit动力学-重力特性UIGravityBehavior
续文在iOS7中其实新加了很多新的特性,之前看过,也了解过一些新的内容,如新的动力学特性,TextKit的图文混排,还有自定义的动画跳转等。那段时间也比较忙,没时间整理。现在项目也弄完了,打算在学习旧的东西的同时好好的区了解这些新的内容。先说下UIDynamicAnimator类,所有仿真行为的父类,这个给我的感觉就跟上先问文一样。或者像是添加手势或者添加视图的感觉,具体往下细说。转载 2014-05-06 16:42:23 · 888 阅读 · 0 评论 -
ios推送详解
最近在研究ios的推送问题,遇到了一些问题,最终整理了一下。放在这里和大家分享APNS的推送机制首先我们看一下苹果官方给出的对ios推送机制的解释。如下图 Provider就是我们自己程序的后台服务器,APNS是Apple Push Notification Service的缩写,也就是苹果的推送服务器。上图可以分为三个阶段:第一阶段:应用程序的服务器端把要发送的消转载 2014-05-06 16:46:10 · 1254 阅读 · 6 评论 -
iOS应用程序生命周期(前后台切换,应用的各种状态)详解
iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的。 iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的。在后台时,程序会受到系统的很多限制,这样可以提高电池的使用和用户体验。//开发app,我们要遵循apple公司的一些指导原则,原则如下:1、应用程序的状态状态如下:Not running 未运行 程转载 2014-05-06 17:16:24 · 630 阅读 · 0 评论 -
iPhone应用提交流程:将App程序发布到App Store
对于刚加入iOS应用开发行列的开发者来说,终于经过艰苦的Coding后完成了第一个应用后最重要的历史时刻就是将应用程序提交到iTunes App Store。Xcode 4.2开发工具已经把App提交流程化了,但是第一次提交总是充满兴奋和疑问的。本文将大概介绍如何将iOS应用程序提交到App Store的各个流程。希望对想将应用发布到苹果商店的新开发者一些帮助(翻译文章,如有术语错误,请给我留言批转载 2014-05-07 09:52:11 · 1101 阅读 · 0 评论 -
AFNetworking 学习笔记
转载自:http://blog.sina.com.cn/s/blog_719d537e01017x82.htmlAFNetwork是一个轻量级的网络请求api类库。是以NSURLConnection, NSOperation和其他方法为基础的。下面这个例子是用来处理json请求的:NSURL *url = [NSURL URLWithString:@"https://alp转载 2014-05-07 09:56:54 · 826 阅读 · 0 评论 -
推送通知详解
(http://blog.youkuaiyun.com/showhilllee/article/details/8631734 其他博客资料)Push的原理:Push 的工作机制可以简单的概括为下图图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider。APNS 是Apple Push Notification Service原创 2014-05-07 10:13:42 · 1643 阅读 · 0 评论 -
iOS中使用Core Plot绘制统计图入门
iOS(iPhone/iPad) 下图形组件有两个有名的,s7graphview 和 Core Plot,它们都是在 Google 上托管的代码,听说 Core Plot 比较强,因为前者仅支持曲线图,后者呢曲线图、饼图、柱状图等通吃,且较活跃。那就专注下 Core Plot 的使用。它提供了 Mac OS X 和 iOS 下的组件库,我只用到它的 iOS 图表库。Core Plot转载 2014-05-07 10:17:07 · 939 阅读 · 0 评论 -
iOS Socket第三方开源类库 AsyncSocket
假如你也是一个java程序员,而你又不是很懂Socket。下面我的这篇文章也许能帮助你一些。http://xiva.iteye.com/blog/993336首先我们写好上面文章中的server端。下面我们可以访问一下下面的地址:http://code.google.com/p/cocoaasyncsocket/这是一个开源框转载 2014-05-07 10:18:07 · 763 阅读 · 0 评论 -
iOS程序打包安装流程
一、发布测试,是指将你的程序给 * 你的测试人员,因为程序总归是要测试的 * 你的客户,在正式发布之前,客户肯定是要先看(验收)的在他们的iOS设备(iphone,ipod, ipad)安装,运行。 二,阅读前提:你自己已经完成了真机测试,意味着: 1、你已经加入了苹果的"iOS developer program",标志事件是付了$99。 2、在iO转载 2014-05-07 10:19:37 · 721 阅读 · 0 评论 -
在Xcode中使用静态库的方法
做了几个App之后,想把工作过程中的一些公共部分抽取出来,便于以后复用,提高效率。今天试了一下在 Xcode 中使用静态库的方法,发现还有点小麻烦啊,特将过程记录一下,省得以后忘了。运行环境:Xcode 4.3 Build 4D10021. 准备工作:1) 创建一个名为:StaticLibTest 的 workspace;2) 创建一个名为:CallLibApp转载 2014-05-07 10:21:49 · 1853 阅读 · 0 评论 -
iTunes Connect 开发者上手经验
搞iOS app一段时间了,做个阶段性的总结,希望后来者少走点弯路。iOS Developer通常需要用到 developer.apple.com 和 itunesconnect.apple.com 这两个工具,就如同名字表现出来的,前者是开发者资源站,包括文档,工具,社区都在那里。后者是管理自己App的工具。本文提到的内容主要和iTunes Connect有关。一些建转载 2014-05-06 17:06:58 · 945 阅读 · 0 评论 -
[iPhone高级] 基于XMPP的IOS聊天客户端程序(XMPP服务器架构)
最近看了关于XMPP的框架,以文本聊天为例,需要发送的消息为:[html] view plaincopymessage type="chat" from="kang@server.com" to="test@server.com"> body>helloWordbody> message> 基中from是从哪个用户发送的消息,to是发给谁的消息转载 2014-05-07 10:00:29 · 839 阅读 · 0 评论 -
iOS app支付宝接口调用的一点总结(补充支付宝SDK&Demo下载地址)
由于app内需要用到支付功能,选择了当前最流行的支付宝进行支付。在进行内嵌支付宝功能开发时,被它狠狠的耍了一把。根据支付宝开发文档,参考demo代码。将相关支付功能加到了自己的代码中。一些根据文档来做,也没有太大的难度。但添加完代码,进行测试时,问题却来了。在app中可以成功调用支付宝app,成功支付并返回。这个时候就出现问题了。在app delegate支付宝回调本app的执行函数中,公钥验转载 2014-05-07 10:07:31 · 647 阅读 · 0 评论 -
iOS开发工具——统计Crash的工具Crashlytics
Crashlytic 成立于2011年,是专门为移动应用开者发提供的保存和分析应用崩溃信息的工具。Crashlytics的使用者包括:支付工具Paypal, 点评应用Yelp, 照片分享应用Path, 团购应用GroupOn等移动应用。2013年1月,Crashlytics被Twitter收购,成为又一个成功的创业产品。被收购之后,由于没有了创业公司的不稳定因素,我们更有理由使用它来分析应用崩转载 2014-05-07 10:30:34 · 803 阅读 · 0 评论 -
iOS的UDID废用以及UUID配合keychain的替换方案实现
首先,简单介绍一下UDID这个东西:UDID是UniqueDevice Identifier的简称,也就是唯一设备标识的意思。于iOS SDK中取得的方法是UIDevice的一个叫uniqueIdentifier的NSString*,由于这个ID字符串是基于设备的,应用开发人员可以通过获取此ID来用于记录区分设备。正是由于这个特性,可能会导致一些隐私等等相关的问题,Apple于iOS5中将原创 2014-05-07 10:29:11 · 1246 阅读 · 0 评论 -
iOS学习之sqlite的创建数据库,表,插入查看数据
iOS sqlite数据库操作。步骤是:先加入sqlite开发库libsqlite3.dylib,新建或打开数据库,创建数据表,插入数据,查询数据并打印1、新建项目sqliteDemo,添加使用sqlite的库libsqlite3.dylib2、sqlite 的方法sqlite3 *db, 数据库句柄,跟文件句柄FILE很类似sqlit转载 2014-05-07 10:16:04 · 781 阅读 · 0 评论 -
NSDictionary类使用
NSDictionary:字典就是关键字及其定义(描述)的集合。Cocoa中的实现字典的集合NSDictionary在给定的关键字(通常是一个NSString)下存储一个数值(可以是任何类型的对象)。然后你就可以用这个关键字来查找相应的数值。不同于数组,字典(也被称为散列表或关联数组)使用的是键查询的优化存储方式。它可以立即找出要查询的数据,而不需要遍历整个数组进行查找。可使用dictio转载 2014-05-07 14:37:37 · 1068 阅读 · 0 评论 -
iOS平台内存常见问题
作为iOS平台的开发者,是否曾经为内存问题而苦恼过?内存莫名的持续增长,程序莫名的crash,难以发现的内存泄漏,这些都是iOS平台内存相关的常见问题;本文将会详细介绍iOS平台的内存管理机制,autorelease机制和内存的使用陷阱,这些将会解决iOS平台内存上的大部分问题,提高了程序的稳定性;1 iOS平台内存管理介绍iOS平台的内存管理采用引用计数的机制;当创建一个对象时使用all原创 2014-05-07 14:44:59 · 752 阅读 · 0 评论 -
iOS开发单例模式Non-ARC(非ARC)和ARC+GCD
单例模式是一个类在系统中只有一个实例对象。通过全局的一个入口点对这个实例对象进行访问。1.Non-ARC(非ARC)头文件#import @interface BVNonARCSingleton : NSObject@property ( nonatomic, retain) NSString *tempProperty;+ (BVNonARCSinglet原创 2014-05-07 14:51:11 · 1078 阅读 · 0 评论