
iOS
teamlet
这个作者很懒,什么都没留下…
展开
-
为UIButton增加可传递的参数
之前,一直利用 button的 tag 进行数据的传递和条件判断。现在的情况用tag很难处理,因此,尝试了几种方式。最后,找到了 OBJC_ASSOCIATION_RETAIN_NONATOMIC 。1、首先要引入#import <objc/runtime.h>2、赋值 // 创建一个button self.showButton = [[UIButton alloc]init];原创 2016-12-18 22:33:43 · 3433 阅读 · 0 评论 -
iOS基础:深入理解Objective-c中@class的含义
objective-c中,当一个类使用到另一个类时,并且在类的头文件中需要创建被引用的指针时,如下面代码:A.h文件#import "B.h" @interface A : NSObject { B *b; } @end 为了简单起见:A类是引用类,B类是被引用类,这里先不考虑A类的实现文件。 通常引用一个类有两种办法: 一种是通过#import方式引入;转载 2016-02-14 22:23:12 · 1241 阅读 · 0 评论 -
iOS中可以设定时间自动消失提示框的三种实现方式
//==============================================================================#pragma mark - 一、显示定制View的消息,定时消失//==============================================================================原创 2015-11-01 22:18:22 · 11165 阅读 · 3 评论 -
Xcode 6 删除 DerivedData后,编译异常
Xcode 6 编译异常,始终报项目名称目录找不到。ld: file not found: /Users/dxxxDev/Library/Developer/Xcode/DerivedData/xxxx-xx/Build/Products/Debug-iphoneos/xxxx.app/xxxclang: error: linker command failed with exit code 1 (use -v to see invocation)原创 2015-11-10 22:29:28 · 5866 阅读 · 1 评论 -
iOS视频播放Demo VideoPlayerDemo
VideoPlayerDemohttps://github.com/CaliosD/VideoPlayerDemo一个视频播放的例子,使用了pod。原创 2015-09-18 22:45:32 · 6482 阅读 · 0 评论 -
iOS中 CGGeometry 类方法总结
原文文档在此:https://developer.apple.com/library/prerelease/ios/documentation/GraphicsImaging/Reference/CGGeometry/index.htmlCGGeometry参考定义几何结构和功能,操作简单。数据结构中的一个点CGPoint代表在一个二维坐标系统。数据结构的位置和尺寸CGRect代表的一个长方形。数转载 2015-10-21 21:35:48 · 3401 阅读 · 0 评论 -
CocoaPods安装
Code4App 原创文章。转载请注明出处:http://code4app.com/article/cocoapods-install-usageCocoaPods是什么?当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比转载 2015-09-18 10:27:26 · 1713 阅读 · 0 评论 -
环信 iOS Demo 试用小记
一、下载SDK和Demo下载地址: http://www.easemob.com/sdk/直接下载:http://downloads.easemob.com/downloads/iOSSDK-20150710.zip二、解压、用xcode打开(Xcode为6.4版本)修改 Team账号为自己的开发者账号三、编译出现21个警告,在真机上运行正常。原创 2015-09-13 11:40:11 · 11372 阅读 · 0 评论 -
xCode V5.1.1 快捷键
xCode V5.1.11、导航面板原创 2014-07-16 11:22:51 · 1662 阅读 · 0 评论 -
编译samba遇到need autoconf 2.53 or later to build samba from GIT
在使用Objective-C wrapper for sambaclient的时候,rake 出现编译错误。操作步骤:1、下载2、解压kxsmb3、进入kxsmb目录4、执行 rake错误提示包括 : need autoconf 2.53 or later to build samba from GIT ...解决方法:curl -OL http://ftpmirror.gnu.org/autoc原创 2016-03-06 09:56:15 · 2524 阅读 · 0 评论 -
brew - 可以简单的获取数千种开源工具和函数库的包管理器
一、简介brew是一个使用ruby语言、由非营利组织开发的包管理工具。Homebrew程序提供的brew,严格来讲不是一个OS X的原生命令,但任何一个OS X的专业用户都不会错过它。“OS X缺少的包管理器”这个评价是恰如其分的。如果你曾经在Linux上使用过apt-get,你就会发现Homebrew基本上是一样的。使用brew可以简单的获取数千种开源工具和函数库。例如:brew install原创 2016-03-06 11:12:08 · 2158 阅读 · 0 评论 -
Launchctl - mac下的运行管理器
前面的文章提到了 launchctl,我就根据这个线索整理一下。launchctl 是 launchd的控制台(也就是人机交互的终端)用于装载进程、卸载进程并控制launchd。launchctl 也就是launchd的封面,这么说是为了避免让人感到意外,说launchctl怎么跑到launchd上了。launchd时mac os最核心的系统组件之一。Mac OS 系统启动最先做的事就是运行lau原创 2016-03-06 11:55:38 · 6074 阅读 · 0 评论 -
使用lame转换mp3时,出现libmp3lame missing required architecture x86_64
使用 lame 转换 mp3 的 libmp3lame库 下载地址: http://download.youkuaiyun.com/detail/zhu410289616/7463863之前运行出现过这个错误: libmp3lame.a, missing required architecture x86_64 in file …修改了 targets ->build setting 下的architect原创 2016-06-09 11:31:24 · 11696 阅读 · 1 评论 -
lame 3.99和 AFNetworking升级遇到的几个问题的处理
使用 lame 处理音频有一段时间了。之前使用的是直接从网上下载的库。一、处理问题1后来不断出现 libmp3lame missing required architecture x86_64 问题。使用临时的方法(http://blog.youkuaiyun.com/teamlet/article/details/51620139)不影响编译 和 在Appstore的更新。自动更新到8.1之后,各种快捷方式原创 2016-12-15 21:41:55 · 5532 阅读 · 1 评论 -
为AppDelegate分层的面向服务架构的 SOAComponentAppDelegate
名称解释一下:1、SOA是面向服务的架构,所有的第三方功能都被分别封装成服务。2、Component 表示这个类是用于引用的,不能用于继承。是对上一篇《category 分离 AppDelegate代码》的改进。一、首先创建服务类,服务类是对第三方服务的封装。第三方服务包括推送、支付、统计等1、服务举例 BaiduPushService 头文件新创建的服务类需要添加 UIApplicationD原创 2016-03-12 13:08:14 · 4278 阅读 · 8 评论 -
绘制Objective-C程序的UML类图
原地址: http://www.processon.com/view/52d3baf20cf2d6fcd08cc8b2转载 2016-02-25 21:18:14 · 7146 阅读 · 0 评论 -
一个自动根据xcode中的objective-c代码生成类关系图的神器
https://github.com/kimsungwhee/KSHObjcUML安装方法:1、下载项目2、运行3、会重新开启一个新的xcode4、选择一个项目,点击 Objc-UML 会自动生成并打开生成的类图。效果图不上了,用用试试。原创 2016-02-25 21:05:33 · 7539 阅读 · 0 评论 -
starUML 2.5.1 for mac
http://www.macupdate.com/app/mac/55571/staruml/download一直在windows下使用 star UML,占用资源少,简洁易用。Mac下也可以用了! :)原创 2016-02-25 19:34:55 · 3052 阅读 · 0 评论 -
使用category 为 AppDelegate 的代码分层
category是一种为现有的类添加新方法的方式。利用Objective-C的动态运行时分配机制,Category提供了一种比继承(inheritance)更为简洁的方法来对class进行扩展,无需创建对象类的子类就能为现有的类添加新方法,可以为任何已经存在的class添加方法。AppDelegate 是iOS app启动的入口,经常需要添加各类的第三方应用,比如:定位服务、统计服务、消息推送服务原创 2016-03-12 08:43:00 · 8038 阅读 · 3 评论 -
Mac 10.10 yosemite 安装samba替代系统samba组件
一、工具 brew1、brew 介绍brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便brew类似ubuntu系统下的apt-get的功能。brew 的官方网站: http://brew.sh/ 2、安装brew打开终端,执行下面语句:ruby -e "$(curl -fsSL https://raw.gith转载 2016-03-05 23:16:38 · 6347 阅读 · 1 评论 -
iOS地图位置开发
iPhone SDK提供了三个类来管理位置信息:CLLocation CLLocationManager 和 CLLHeading(不常用)。除了使用GPS来获取当前的位置信息外,iPhone也可以基于WiFi基站和无线发射塔来获得位置信息。GPS的精度最高,可以精确到米级别,但是也最耗电。一、CLLocationCLLocation类代表一个位置信息,其中还包括了方向和速度。CLLocation转载 2013-08-31 16:26:51 · 4088 阅读 · 0 评论 -
iOS 定位服务
定位服务目录(?)[-]iOS中有三个定位服务组件iOS地图Web地图iOS中有三个定位服务组件: Wifi定位,通过查询一个Wifi路由器的地理位置的信息。比较省电,iPod touch和iPad也可以采用。 蜂窝基站定位,通过移动运用商基站定位。也适合有3G版本的iPod touch和iPad。 GPS卫星定位,通过3-4颗GPS定位位置定位,最为准确,但是耗电量大,不能遮挡。Co转载 2013-08-31 10:40:46 · 3131 阅读 · 0 评论 -
Deploying iPhone Apps to Real Devices
http://mobiforge.com/developing/story/deploying-iphone-apps-real-devices转载 2013-02-02 00:33:17 · 1533 阅读 · 0 评论 -
常用的Mac快捷键
在不同应用程序之间切换:⌘command-tab在同一应用程序不同窗口之间切换:⌘command-~关闭当前窗口:⌘command-W退出当前应用程序:⌘command-Q选择性截屏:shift-⌘command-4锁屏:Shift+Ctrl+电源键显示桌面:F11快速关机:⌘command-option-control-电源键智能删除:fn-control-deletePageUp:fn-↑Pa转载 2013-02-02 00:31:52 · 1470 阅读 · 0 评论 -
iOS6和iPhone5使用第三方静态库在真机无法运行的处理
环境: xcode4.5.1 iphone5在模拟器下正常运行的程序,在真机上出现下面的错误:ld: file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/david/Downloads/QR code/QR code/ZBarSDK/libzbar.a for architecture armv7s原创 2013-02-02 00:22:10 · 9203 阅读 · 4 评论 -
Coordinating Efforts Between View Controllers--UIApplicationMain 初始化的步骤
Coordinating Efforts Between View ControllersFew iOS apps show only a single screenful of content. Instead, they show some content when first launched and then show and hide other content in response转载 2013-01-12 21:21:48 · 1708 阅读 · 0 评论 -
Converting to Storyboards Release Notes
Storyboarding is a new way to create user interfaces for iOS applications, beginning with iOS 5 and Xcode 4.2. Using storyboards, you can design the view controllers that compose your application as s转载 2013-01-12 20:42:21 · 1660 阅读 · 0 评论 -
iphone程序的生命周期分析
一、概述做iphone开发,了解iphone程序的生命周期非常的重要。从点击程序图标启动程序开始,到退出程序,程序整个运行过程中都发生了什么事情?为什么要这么做?只有理解了这些技术细节才能游刃有余的掌握Iphone程序的开发。二、目标首先来写一个HelloWorld程序,放弃Xcode提供的代码模板,不使用xib不使用ib,不使用storyboard,亲自动手一行一行的编写代码。虽然真正开发项目的原创 2013-01-13 16:55:08 · 2147 阅读 · 0 评论 -
UIApplicationMain
UIApplicationMainThis function is called in the main entry point to create the application object and the application delegate and set up the event cycle.int UIApplicationMain ( int argc, char *转载 2013-01-12 22:49:53 · 2000 阅读 · 0 评论 -
xcode 4.5 创建项目
一、启动Xcode 4.5,创建新的Xcode项目二、选择模板三、输入项目信息Product Name,Organization Name,Company Identifier,Class Prefix信息,选中Use Storyboard,Use Automatic Reference Counting,不选Include Unit Tests四、选择存储项目的位置五、项目创建完毕后的文件和目录原创 2013-01-13 21:02:58 · 6214 阅读 · 0 评论 -
UIApplicationMain、UIApplication 和 UIApplicationDelegate 协议的关系
main.m是iphone程序执行的入口。一个典型的main.m文件如下:#import #import "AppDelegate.h"int main(int argc, char *argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([App原创 2013-02-07 21:31:05 · 5394 阅读 · 0 评论 -
用 NSLog 观察 UIApplicationDelegate 每个事件实现的执行
////FirstAppDelegate.m file//#import "FirstAppDelegate.h"@implementation FirstAppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{原创 2013-02-07 21:48:05 · 2008 阅读 · 0 评论 -
Objective-C中的协议使用举例
一、协议 Protocol简介协议是一种特殊的程序设计结构,用于声明专门被别的类实现的方法.协议在以下场合非常有用:声明需要由别的类实现的方法声明未知类的接口集中定义一些互相之间没有继承关系的类的相似点协议声明类需要实现的的方法,为不同的类提供公用方法,一个类可以有多个协议,但只能有一个父类,即单继承。它类似java中的接口。可以在协议声明中使用@optional和@required指令来指定协议原创 2013-02-07 20:55:17 · 4942 阅读 · 0 评论 -
Mov文件格式对mdat和moov的分析
一、结构从文件内容上看,mdat是真正的图像数据;后面的moov是一些元数据信息。二、mdatmdat的结构非常简单,在mdat前面4个字节,是mdat包含的数据长度。在mdat后面是实际的数据。如图所示。三、moovmdat 数据后面,跟着的是 moov。moov包含了较多的层次,它的字节点又包含了其他的字节点。后面针对每个节点的长度(多少个字节)以及意义和可能的取值范围做了简单的说明。更详细的原创 2013-06-20 21:54:22 · 23602 阅读 · 1 评论 -
Mov文件格式分析
参考 qtff.pdf (quick time file format)一、基本概念和定义The basic data unit in a QuickTime file is the atom. Each atom contains size and type information along with its data. Atom是quickTime文件的基本数据单元,每个Atom包含si原创 2013-06-16 00:13:12 · 13842 阅读 · 4 评论 -
获取iphone本机号码(在iOS 6.1, iPhone5 ,移动号码, xcode 4.6上测试通过)
在 iOS 6.1, iPhone5 ,移动号码, xcode 4.6上测试通过创建一个空白的工程1)导入CoreTelephony.framework2)在AppDelegate.m中 #import 语句下面添加 extern 语句,如下所示: #import "AppDelegate.h"extern NSString *CTSettingCopyMyPhoneNumber(); 3)原创 2013-05-30 16:10:29 · 8938 阅读 · 4 评论 -
iOS UIKit class hierarchy
原创 2013-05-21 07:42:28 · 3458 阅读 · 1 评论 -
xcode 4.6 使用NSURLConnection 获取网页内容(iOS6.1,纯手工编码,无xib,无storyboard)
环境 iOS 6.1, xcode 4.6一、创建新项目1、打开 xcode,File --> New --> Project... -->Empty Application2、项目名称 NSURLConnectionDemo,下面所有选项全部不选,完成创建。二、创建视图控制器3、File-->New-->File-->Objective-C class4、创建UIViewController原创 2013-05-17 21:25:58 · 6054 阅读 · 1 评论 -
Mac 10.8.2 设置apache和php5
一、启动apache打开终端执行 $sudo apachectl start二、检查是否启动打开浏览器输入http://127.0.0.1显示 It works!三、配置phpcd /etc/apache2/sudo vi httpd.conf查找libphp,在vi中输入 /libphp把注释去掉#LoadModule php5_module libexec/apache2/libphp5.s原创 2013-04-14 14:19:51 · 4400 阅读 · 0 评论 -
UIViewController生命周期
在UIViewController中,controller的view存在两个循环:加载和卸载循环,可参考下图:加载循环程序请求controller的view如果view在内存中,则直接加载。相反,如果不存在,则UIViewController调用loadView方法loadView方法执行如下操作:如果你重载了这个方法,则必须创建必要的view并且将一个非nil值传给UIViewControlle转载 2013-02-12 12:02:08 · 3124 阅读 · 0 评论