iOS
mifit
自我成长。
展开
-
关于CocoaPods私有库的那点事情
关于CocoaPods私有库的那点事情私有库组件化的基本操作首先得安装好CocoaPods,不懂的童鞋出门右拐找百度步骤:1、使用自带的模版库创建pod lib create 工程名称依据自己情况选择。平台:iOS/macOS 、 语言:Swift/ObjC 、 demo testing 、frameworks:Specta/Kiwi/None based testing :、 前缀:比如XM2、编写好自己的库,放到与工程名.podspec同级的工程名目录下的Classes原创 2020-09-13 01:55:31 · 472 阅读 · 0 评论 -
iOS NSObject 释放流程
相关结构体介绍:struct weak_table_t { weak_entry_t *weak_entries; // 弱引用对象数组 size_t num_entries; // 弱引用对象个数 uintptr_t mask; // 容量 uintptr_t max_hash_displacement;// 最大哈希值冲突偏移次数};struct weak_entry_t { // 对象地址,弱属性指针指向的对象 DisguisedPtr<o原创 2020-09-12 16:41:22 · 766 阅读 · 0 评论 -
iOS 异步绘制框架解毒 -- YYTextAsyncLayer
关键类:YYTextAsyncLayer // 异步or同步layer_YYTextSentinel // 计数用YYLabel // 继承UIView的富文本控件两个队列:YYTextAsyncLayerGetDisplayQueue()YYTextAsyncLayerGetReleaseQueue()现介绍两个队列/// 渲染UI使用的队列static dispatch_queue_t YYTextAsyncLayerGetDisplayQueue() {#define MAX_Q原创 2020-09-12 14:25:33 · 546 阅读 · 0 评论 -
iOS ARC 与 非ARC 混编
点击项目 => TARGETS => Build Phases => Compile Sources把相应的.m文件后面添加下面模式,双击即可使用非ARC模式-fno-objc-arc使用ARC模式-fobjc-arc原创 2015-12-26 09:48:03 · 306 阅读 · 0 评论 -
iOS 代码添加注释(按Alt + 鼠标左键可查看)
在需要添加的属性or方法上面添加如下格式之一:/// 你的注释/** 你的注释*/原创 2015-12-26 10:17:07 · 477 阅读 · 0 评论 -
iOS 给代码添加注释
假如你的 .m 文件方法很多,代码很多,为了让你的带看管理起来方便,容易找到。 你就得把你的方法分类、划分,以便查找修改。 只要在分类前加些注释,方法看起来就很简美。例如 (1)内部方法:pragma mark - internal method(2)在内容方法里面再分:pragma mark image method原创 2015-12-26 10:32:54 · 526 阅读 · 0 评论 -
iOS 使用Storyboard + AutoLayout布局,各种型号设备效果预览
简单预览原创 2015-12-26 10:44:07 · 930 阅读 · 0 评论 -
iOS app打包版本问题
1. Version和Build应该有蛮多人不理解Version和Build的,Version是在Appstore上面显示的,Build是开发人员看的,也是打包的区分。比如我第一次发布app,版本号是1.0.0,build从1开始,我已经打包上去一个,后来发现有bug,改了下又打包,不想改版本号,因为第一次发布or其他原因,你可以改build即可,但是必须是大于前面的,一般加1原创 2015-12-26 10:53:57 · 1614 阅读 · 0 评论 -
iOS 拖进项目的文件代码获取路径为nil
返比如我拖进工程一个文件m.m4a,使用如下方法获取NSString *audioPath = [[NSBundlemainBundle] pathForResource:@"m"ofType:@"m4a"];返回的 audioPath 为nil。解决方法:点击项目 => TARGETS => Build Phases => Copy Bundle Resour原创 2015-12-26 09:35:23 · 1607 阅读 · 0 评论 -
iOS 不错的网络demo、框架
1. 极限优化scrollview图片浏览,对于欢迎页很好用。https://github.com/devgj/UIScrollView-demo2. 网络图片加载 https://github.com/rs/SDWebImage3. socket https://github.com/robbiehanson/CocoaAsyncSocket/原创 2015-12-26 09:12:07 · 408 阅读 · 0 评论 -
iOS 给项目添加PCH文件
忘了哪个版本开始,Xcode新的版本没有.PCH文件,旧的有。Command + N => Other => PCH File => Next => 名字随便or默认(PrefixHeader) => Create点击项目 => TARGETS => Build Settings => Apple LLVM 7.0 - Language => Prefix Header => 设置成原创 2015-12-26 11:14:23 · 361 阅读 · 0 评论 -
iOS 给app添加启动图
方式一: 在 Assets.xcassets 里,可以吧 Brand Assets 删掉方式二: 默认模式 LaunchScreen.storyboard 里面显示的内容就是启动图原创 2015-12-26 14:18:33 · 515 阅读 · 0 评论 -
iOS NSData、NSString、char *转换,简洁明了
NSData NSString NSString *str = @"fds"; NSData *data = [strdataUsingEncoding:NSUTF8StringEncoding]; str = [[NSStringalloc]initWithData:dataencoding:NSUTF8StringEncoding];原创 2015-12-25 15:47:35 · 510 阅读 · 0 评论 -
iOS app上架流程
主要步骤: 1、在Member Center (1).申请发布证书 (2).申请APP IDs (3).创建Provisioning Profiles2、在iTunes Connect (1).创建app (2).构建版本 (3).提交app审核以下是详细步骤,对于已经完成的步骤可跳过: 1.(1)申请发布证书 打开“钥匙串” => 点击菜单上的 钥匙串访问 => 证书助理 =>原创 2015-12-25 11:06:48 · 626 阅读 · 0 评论 -
Mac 搭建nginx+rtmp服务器
1. 安装Homebrew 打开终端, 查看是否已经安装了Homebrew, 直接终端输入命令man brew如果Mac已经安装了, 会显示一些命令的帮助信息. 此时输入Q退出即可, 直接进入第2步. 反之, 如果没有安装,执行命令ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/in转载 2016-08-05 15:37:22 · 708 阅读 · 0 评论 -
iOS RTMP推流和拉流第三方框架
Mac搭建服务器,看前一篇文章《Mac 搭建nginx+rtmp服务器》1.rtmp观看 打开下面网址,输入你的rtmp地址,点击播放视频即可。 http://daniulive.com:8080/files/SmartPlayer/SmartPlayer.html2.推流 (1)LiveVideoCoreSDK https://github.com/runner365/LiveVideoC转载 2016-08-05 15:49:53 · 6332 阅读 · 0 评论 -
iOS Photos.framework 使用
1.查询相册使用权限PHAuthorizationStatus st = [PHPhotoLibrary authorizationStatus];if (PHAuthorizationStatusDenied == st || PHAuthorizationStatusRestricted == st) { NSLog(@"相册不允许访问");}if (PHAuthorization原创 2016-09-01 11:46:17 · 1232 阅读 · 0 评论 -
iOS VIPER架构
VIPER觉得比较好的结构,详情请看链接。原创 2019-08-31 15:03:58 · 150 阅读 · 0 评论 -
iOS 自己搭建的App基本框架
使用模式自己决定。MVVM、MVC、Redux、MVP、TargetAction都可以地址:https://github.com/MiftMy/XMFrame.git原创 2019-08-16 23:16:10 · 220 阅读 · 0 评论 -
iOS 架构之TargetAction
组件化开发,先发Demo地址:https://github.com/MiftMy/XMRedux.git原创 2019-08-16 22:06:06 · 141 阅读 · 0 评论 -
iOS 架构之Redux
先发demo,后续再详解demo地址:https://github.com/MiftMy/XMRedux.git原创 2019-08-16 22:01:47 · 437 阅读 · 0 评论 -
iOS 使用正则从文件内容检索出OC方法
项目工程在Git上面,大家可以使用,有问题可以沟通,demo有待完善。Git地址:https://github.com/MiftMy/XMMethodFilter.git原创 2019-08-15 15:09:45 · 212 阅读 · 0 评论 -
Swift5 class与struct区别
swift 5 class 与 struct区别原文:1、Inheritance enables one class to inherit the characteristics of another。2、Type casting enables you to check and interpret the type of a class instance at runtime。3、Dei...原创 2019-03-07 16:23:25 · 259 阅读 · 0 评论 -
iOS scrollview滚动传递
效果: 父scrollview上面添加子scrollview,当父scrollview往下滚动完毕后接着滚动子scrollview;同理子scrollview往上滚动完接着滚动父scrollview。达到“完美”衔接效果。demo地址:https://github.com/MiftMy/XMScrollThrough...原创 2019-02-15 11:55:22 · 838 阅读 · 1 评论 -
iOS 图片涂鸦功能
大致原理: 1.准备几张切图。 2.监听手势,手势开始,随机添加一张图片;手势移动,累加手势距离,到达一定值再添加一张随机图片并清零累加距离,依次类推。demo地址:https://github.com/MiftMy/XMGraffiti原创 2017-11-23 11:04:17 · 968 阅读 · 0 评论 -
iOS 图片裁剪功能。
图片裁剪功能。包括图片缩放、旋转、裁剪框任意比例后裁剪。 示例效果: Demo在github上: https://github.com/MiftMy/test原创 2017-10-30 16:58:56 · 721 阅读 · 0 评论 -
iOS 解决iOS10相册、相机、麦克风等权限使用问题
访问相册出现下面崩溃提示:[access] This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key wi原创 2016-09-19 17:18:11 · 3445 阅读 · 0 评论 -
iOS 蓝牙外设检索、发送、接受数据问题。
可以通过获取AVCaptureConnection,然后调用setVideoOrientation:方法解决图像90°问题。比如: 显示AVCaptureVideoPreviewLayer [[_videoPreviewLayer connection] setVideoOrientation:AVCaptureVideoOrientationLandscapeRight];拍照,输出用AVCa原创 2016-07-06 11:37:37 · 6471 阅读 · 0 评论 -
iOS GCD一般使用
一、异步执行:dispatch_async(dispatch_get_global_queue(0,0), ^{ //执行代码 });二、延时执行:dispatch_time_t time =dispatch_time(DISPATCH_TIME_NOW, delay *NSEC_PER_SEC);原创 2015-12-24 14:54:40 · 281 阅读 · 0 评论 -
iOS button图片与文字互换
CGRect rect = btn.frame;[btn setImageEdgeInsets:UIEdgeInsetsMake(0,rect.size.with/2,0,0)];[btn setTitleEdgeInsets:UIEdgeInsetsMake(0, -rect.size.with/2, 0, 0)];UIEdgeInsetsMa原创 2015-12-23 17:43:12 · 847 阅读 · 0 评论 -
iOS 上拉加载,下拉刷新,本人使用MJRefresh
MJRefresh可以在git下载tableView和Collectionview的上拉和下拉处理://上拉加载- (void)initRefreshFooter{ __weak __typeof(self) weakSelf =self; weakSelf.collectionView.footer = [MJRefreshAutoNo原创 2015-12-23 15:12:37 · 1130 阅读 · 0 评论 -
iOS Autolayout -- scrollview
Autolayout中scrollview使用步骤// view的高度可以不设置:原创 2015-12-30 17:24:12 · 403 阅读 · 0 评论 -
iOS Autolayout入门简介
在xib or storyboard(简称sb)中均可使用autolayout。1.勾选Use Auto Layout,现在新建 xib 或 sb 默认都会勾选上。2.约束简介: 勾选,对于上下左右点击虚线即可,确定后点击Add Constraints即可添加。 关于Aspect Ratio,还可以按着Ctrl,左键点击view1,拖着放到view2上,建立view1与view2的宽高比。其他对原创 2015-12-30 18:03:12 · 345 阅读 · 0 评论 -
iOS Autolayout -- 模块化、等宽高
模块化: 相关的控件放一个view里面,方便管理和显示层次。 布局和添加约束如下示例: 下面的密码和输入框同理。等宽高:原创 2015-12-31 11:54:04 · 353 阅读 · 0 评论 -
iOS CloudKit与Core Data、商业后端服务、自己的服务器相比优势
优势:易操作性、可靠性、成本关于CloudKit:http://www.cocoachina.com/ios/20141008/9845.html转载 2016-01-28 14:59:12 · 670 阅读 · 0 评论 -
iOS AVCaptureDevice 图像90度问题
可以通过获取AVCaptureConnection,然后调用setVideoOrientation:方法解决图像90°问题。比如:显示AVCaptureVideoPreviewLayer[[_videoPreviewLayer connection] **setVideoOrientation**:AVCaptureVideoOrientationLandscapeRigh原创 2016-07-06 10:50:21 · 5331 阅读 · 0 评论 -
过年回来,发现证书无效
几个相关文章提供参考:https://developer.apple.com/certificationauthority/AppleWWDRCA.cerhttps://segmentfault.com/q/1010000004433963/a-1020000004434742http://www.cnblogs.com/zyonbao/p/5190304.ht转载 2016-02-15 15:12:51 · 346 阅读 · 0 评论 -
邓白氏码申请地址
https://developer.apple.com/program/enroll/dunsLookupForm.action填写完后,几天会受到确认电话,然后再发资料过去。原创 2015-12-25 14:51:10 · 385 阅读 · 0 评论 -
Apple免费加急审核流程
进入以下地址:https://developer.apple.com/contact/app-store/登陆你的账号,就可以看到。选择 request an expedited app review填写你的信息(加急理由,app信息等),提交就可以。连接也可以在 https://developer.apple.com 点击 Support =>原创 2015-12-25 09:11:56 · 403 阅读 · 0 评论 -
雅虎天气城市ID、中国气象城市ID
plist文件下载地址:http://pan.baidu.com/s/1bnWlRdl原创 2015-12-23 17:35:09 · 981 阅读 · 1 评论