
Object-C
slatop
Ill never mind the past from now on no matter how sorrowful or wonderful it was. Life comes and goes with nothing
展开
-
mobileconfig使用发布者证书动态签名
其中涉及文件1.inf.mobileconfig来源:导入的未签名配置文件,先通过电脑的隔空投送到手机,测试文件可正常使用。2.outf.mobileconfig来源:导出的已签名配置文件3.discer.pem来源:发布者证书导出的pem文件(服务器linux不能直接使用p12)生成方法:首先在钥匙串中导出最新未过期的发布者证书p12文件。文件命名为discer.p12 不设置密码在discer.p12同目录下执行命令 openssl pkcs12 -clc原创 2022-04-16 13:19:02 · 1874 阅读 · 0 评论 -
XMPPFramework环境搭建
关于XMPP的框架,以文本聊天为例,需要发送的消息为: message type="chat" from="kang@server.com" to="test@server.com">body>helloWordbody>message>helloWord基中from是从哪个用户发送的消息,to是发给谁的消息,XMPP的用户都是以邮箱形式。body就是我转载 2014-06-28 14:45:02 · 650 阅读 · 0 评论 -
NSCopying,NSCoding
NSCopying protocol 实现对象复制功能,在对象接收到copy消息后copyWithZone会被调用,在此方法中应创建一个新的同类型对象,并且设备其所有属性后返回,创建该新对象时需要使用allocWithZone方法,该方法可以通过一个已经指定分配好的内存创建新的对象,即当以下方法被调用时内存已分配完毕,将通过NSZone对象封装传递过来。同样的有NSMutableCopying来处原创 2015-03-19 18:45:27 · 1384 阅读 · 0 评论 -
KVC,KVO
NSKeyValueCoding 为 NSObject的category 所以所有NSObject的子类都具备下列方法;设置一个对象属性的值- (void)setValue:(id)value forKey:(NSString *)key;获取一个对象属性的值- (id)valueForKey:(NSString *)key;可使用带有path的方法以点运算符组原创 2015-03-20 00:53:39 · 346 阅读 · 0 评论 -
@select延伸
各种语言都有些传递函数的方法:C语言中可以使用函数指针,C++中有函数引用、仿函数和lambda,Objective-C里也有选择器(selector)和block。不过由于iOS SDK中的大部分API都是selector的方式,所以本文就重点讲述selector了。Objective-C和我接触过的其他面向对象的语言不同,它强调消息传递,而非方法调用。因此你可以对一个对象传递任何消转载 2015-03-21 22:19:32 · 477 阅读 · 0 评论 -
未读消息橡皮动画
先说一下大体的思路吧,控件是继承Button写的,并且在button的下面添加一个小的圆,给button添加拖拽手势,根据俩个圆的中心点算出拉动的距离,拖动的距离越大小圆的半径越小(勾股定理)这个动画最大的难点在画俩个画出俩个圆之间的不规则的矩形,通过下面的这个公式可以计算出俩个圆的直径上的四个点和中间的2个点的贝塞尔控制点的point,参照下面图片根据俩个圆的中心转载 2015-09-02 10:54:31 · 488 阅读 · 0 评论 -
iOS crash 信息符号
dwarfdump --uuid ST.Demo.app/ST.Demo app文件的版本号dwarfdump --uuid ST.Demo.app.dSYM dSYM文件的版本号Incident Identifier 崩溃标识符CrashReporter Key 设备标识符异常信息0x8badf00d 启动时原创 2015-12-21 09:43:51 · 422 阅读 · 0 评论 -
UI状态保持和恢复
iOS设计规范中要求,当应用退出的时候(包括被终止运行时候),画面中UI元素状态需要保持的,当再次进来的时候看状态与退出是一样的。iOS6之后苹果提供以下API使得UI状态保持和恢复变得很容易了。 在iOS6中我们可以在3地方实现状态保持和恢复: 应用程序委托对象 视图控制器 自定义视图 为了演示这个功能实现,我们把基于故事板转载 2017-08-07 16:13:55 · 788 阅读 · 0 评论 -
iOS长连接错误码
在做iOS 客户端 Server-Client项目的时候,需要Client登录和长连接。所以,网络和socket的问题,变得重要起来。在网上查阅找一些资料,供网友参考,下面是遇到的一些错误码: * Domain=NSPOSIXErrorDomain Code = 51 "Network is unreachable" * Domain=NSPOSIXErrorD转载 2017-08-07 15:21:29 · 1924 阅读 · 0 评论 -
应用内检测手机锁屏,解锁状态
iPhone的锁屏监测分为两种方式监听:1. 程序在前台,这种比较简单。直接使用Darwin层的通知就可以了:#import #define NotificationLock CFSTR("com.apple.springboard.lockcomplete")#define NotificationChange CFSTR("com.apple.springboa转载 2017-08-07 16:02:14 · 828 阅读 · 0 评论 -
iOS CoreBluetooth
一、引言 蓝牙是设备近距离通信的一种方便手段,在iPhone引入蓝牙4.0后,设备之间的通讯变得更加简单。相关的蓝牙操作由专门的 CoreBluetooth.framework进行统一管理。通过蓝牙进行通讯交互分为两方,一方为中心设备central,一方为外设 peripheral,外设通过广播的方式向外发送信息,中心设备检索到外设发的广播信息,可以进行配对连接,进而进行数据转载 2017-12-14 17:33:36 · 286 阅读 · 0 评论 -
利用runtime修改UINavigationItem的位置
#import @interface UINavigationItem (Spacing)@end-------#import "UINavigationItem+Spacing.h"#import #import @implementation UINavigationItem (Spacing)// load 在初始化类时调用,每转载 2014-05-26 12:25:49 · 474 阅读 · 0 评论 -
断言使用,调试宏定义
使用NSParameterAssert() 可断言一个结果是否为原创 2014-07-16 11:41:18 · 915 阅读 · 0 评论 -
iOS开发之屏幕自动适应高宽
UIViewController类的init方法创建的controller其中自带的UIView会自动根据当前屏幕的大小去初始化UIView的大小,无需程序员手动管理,如果当前管理器存在于tabbar或navigation,应该为UIView添加autoresizingMask = UIViewAutoresizingFlexibleHeight属性,让其自动调用高。如果UIView中有其它子控件原创 2013-12-19 12:01:06 · 914 阅读 · 0 评论 -
iOS蓝牙教程
http://developer.bluetooth.org/Pages/default.aspxCore Bluetooth for iOS 6CoreBluetooth的API是基于BLE4.0的标准的。这个框架涵盖了BLE标准的所有细节。仅仅只有新的iOS设备和Mac是和BLE标准兼容的:iPhone4S,iPhone5,MacMini,New iPad,MacBook Ai转载 2014-05-19 20:33:37 · 596 阅读 · 0 评论 -
统一添加导航控制器右滑返回手势
一、新建一个控制器,继承UINavigationController 二、右滑手势代码01- (void)viewDidLoad02{03 [super viewDidLoad];转载 2014-06-03 11:48:11 · 660 阅读 · 0 评论 -
uiview点击事件穿透
我们在有多个 UIView 层叠时,比如一个按钮被一个 UIView 遮盖时,想要在点击最上层的 UIView 时能触发按钮的相应事件,我们该如何实现呢,初步可以想到几种办法:1. 把按钮上层的所有 UIView 的 userInteractionEnabled 属性设置为 NO,要是 UIView 有自己的交互事件该如何办呢?而且这个 userInteractionEnabled 不能动转载 2014-06-07 09:48:13 · 5751 阅读 · 0 评论 -
NSDate
1. 创建或初始化可用以下方法 用于创建NSDate实例的类方法有 + (id)date; 返回当前时间 + (id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs; 返回以当前时间为基准,然后过了secs秒的时间 + (id)dateW转载 2014-05-30 17:37:05 · 510 阅读 · 0 评论 -
CoreText实现图文混排和点击事件
本例子是实现类似于微博的富文本效果,可以实现图文混排和处理点击事件触发。使用CoreText进行图文混排的核心思想是把需要摆放图片的位置用空字符替换原来的字符,并且实现CTRunDelegate,用于动态设置空字符的高度和宽度(代表图片的大小),并且对这些空字符设置一个属性名来区别于其他CTRun,之后进行图片渲染的时候就能通过该属性来区分哪些空字符是代表图片的占位符,哪些是普通的空字符。使用Co转载 2014-06-03 13:12:30 · 572 阅读 · 0 评论 -
ios将图片文件写入相册目录
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);转载 2014-06-18 12:04:28 · 931 阅读 · 0 评论 -
IOS手势使用详解
UITapGestureRecognizer // Tap(点一下)UIPinchGestureRecognizer // Pinch(二指往內或往外拨动,平时经常用到的缩放)UIRotationGestureRecognizer // Rotation(旋转UISwipeGestureRecognizer翻译 2013-10-26 11:52:45 · 484 阅读 · 0 评论