包含标签 IOS 的文章

category 动态增加属性

起因 抽风查看以前的代码!!查看一个红点的库!查着查着就想补充一下分类里添加属性的方法!!重温runtime的一些使用! category里面的分类属性是不带 setter/getter ,而普通类里面是已经带 setter/getter; 动态添加属性 写法1 @property (nonatomic, assign) BOOL isNotIgnore; //runtime 动态绑定 属性 - (BOOL)isNotIgnore{ //_cmd == @select(isIgnore); 和set方法里一致 return [objc_getAssociatedObject(self, _cmd) boolValue]; } - (void)setIsNotIgnore:(BOOL)isNotIgnore{ // 注意BOOL类……

阅读全文

GCD 与 NSOperationQueue 区别

GCD与NSOperationQueue区别 区别 1 GCD是底层的C语言构成的API,而NSOperationQueue及相关对象是Objc的对象。在GCD中,在队列中执行的是由block构成的任务,这是一个轻量级的数据结构;而Operation作为一个对象,为我们提供了更多的选择……

阅读全文

IOS与sqlite及归档(更新)

IOS与sqlite及归档 起因 业务需求!以前项目都是用到归档!很小用数据库!所有特意研究sqlite数据库及其封装~~~ 归档优缺点 1 简单 2 数据量大时效率低下,且不能增量改变,必须一次写入 数据库优缺 1 可以增量改变 2 相对于归档比较复杂 sqlite sqlite 增删改查基本封装 使用 已封装为已类名为表头,一张……

阅读全文

ios openCV 基本集成和简单应用

起因 还是为自己准备想自己前进!想研究一下opencv 素材! 参考 github 一 github 二 iOS结合OpenCV做视频流处理或人脸识别 整合demo 中国版github 该DEMO整合了 IJKPlayer GPUIMAGE OpenCv!等直播 视频相关的类! 附上部分测试效果 /** openCv 每秒回调30次 代理 */ - (void)processImage:(cv::Mat &)image{ //@[@"默认",……

阅读全文

SDWebImage和AFNetworking及原生缓存策略的比较

起因 重温旧知识; 参考 SDWebImage缓存机制策略 参考一 SDWebImage缓存机制策略 参考二 AFNetWorking 和 SDWebImage 图片缓存对比 区别 AFNetworking 利用的是http的缓存机制!做本地缓存! SDWebImage 利用的是本地文件缓存! 自从iOS5.0之后,NSURLCache 已经加入了硬盘缓存操作,那么SDWebImage对比朴……

阅读全文

IOS和carsh说再见

IOS和carsh说再见 起因 工作有空没任务就恶补一下基础东西就好了! 错误类型 1 空指针 (根本问题) 2 越界 (根本问题) 3 项目文件xib引用错误 (衍生问题) 4 服务端返回错误 (衍生问题) 5 三方SDK启动失败 (衍生问题) 解决方法 别人家的carsh总结参考 部分基类carsh扩展处理源文件 gi……

阅读全文

Xcode 自建freamwork 测试与debug

参考链接 建立freamwork file -> new ->target -> ios ->freamwork & Library 配置 整个工程结构 允许执行类型 debug 模式下需要设置 release 模式下需要设置 真机 模拟器 及脚步脚本 if [ "${ACTION}" = "build" ] then INSTALL_DIR=${SRCROOT}/Products/${PROJECT_NAME}.framework DEVICE_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework SIMULATOR_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphonesimulator/${PROJECT_NAME}.framework if [ -d "${INSTALL_DIR}" ] then rm -rf "${INSTALL_DIR}" fi mkdir -p "${INSTALL_DIR}" cp -R "${DEVICE_DIR}/" "${INSTALL_DIR}/" #ditto "${DEVICE_DIR}/Headers" "${INSTALL_DIR}/Headers" lipo -create "${DEVICE_DIR}/${PROJECT_NAME}" "${SIMULATOR_DIR}/${PROJECT_NAME}" -output "${INSTALL_DIR}/${PROJECT_NAME}" #open "${DEVICE_DIR}" open "${SRCROOT}/Products" fi 外放*.h 引用 #import <FrameworkTest/FrameworkTest.h> MyClass *obj = [[MyClass alloc]init]; PKLog(@"%@",obj.getMessage);……

阅读全文

视频直播框架ijkplayer

ijkplayer 视频直播框架 参考链接 ijkplayer 视频直播框架 生成模拟器和设备framework 生成配置 版本合并 合并脚本 合并命令 if [ "${ACTION}" = "build" ] then FRAMEWORK_NAME=IJKMediaFramework #FRAMEWORK_NAME=${PROJECT_NAME} INSTALL_DIR=${SRCROOT}/Products/${FRAMEWORK_NAME}.framework DEVICE_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphoneos/${FRAMEWORK_NAME}.framework SIMULATOR_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphonesimulator/${FRAMEWORK_NAME}.framework if [ -d "${INSTALL_DIR}" ] then rm -rf "${INSTALL_DIR}" fi mkdir -p "${INSTALL_DIR}" cp -R "${DEVICE_DIR}/" "${INSTALL_DIR}/" #ditto "${DEVICE_DIR}/Headers" "${INSTALL_DIR}/Headers" lipo -create "${DEVICE_DIR}/${FRAMEWORK_NAME}" "${SIMULATOR_DIR}/${FRAMEWORK_NAME}" -output "${INSTALL_DIR}/${FRAMEWORK_NAME}" #open "${DEVICE_DIR}" open "${SRCROOT}/Products" fi IJK简单实用 #import <IJKMediaFramework/IJKMediaFramework.h> - (void)setup{ //直播 self.url = @"http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8"; [IJKFFMoviePlayerController setLogReport:false]; [IJKFFMoviePlayerController setLogLevel:k_IJK_LOG_DEBUG]; [IJKFFMoviePlayerController checkIfFFmpegVersionMatch:true]; IJKFFOptions *options = [IJKFFOptions optionsByDefault]; _IJKPlayer = [[IJKFFMoviePlayerController alloc]initWithContentURLString:self.url withOptions:options]; [_IJKPlayer prepareToPlay]; _IJKPlayer.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight; _IJKPlayer.view.size = self.view.size; _IJKPlayer.shouldAutoplay = YES; [_IJKPlayer……

阅读全文

Reveal

Reveal 安装 1.软件路径 ps 使用前 请摆 R_Reveal.app 改为 Reveal.app app文件 破解文件 1.安装原版并运行一次(直接拖入应用即可) -- 假设安装到 /Applications/Reveal.app/ 2.打开/Applications/Reveal.app/Contents/MacOS/Reveal 改名为 Reveal_ 3.将附件复制进来 4.启动主程序即可! xcode中断点 UIApplicationMain expr……

阅读全文

IOS打包IPA

1.修改账户 2.修改证书 3.生成 1.选设备 2.product -> archive -> show in finder 4.IPA 1.show in finder 2.包内容拖到 5.上传内容……

阅读全文