- 博客(313)
- 资源 (1)
- 收藏
- 关注
原创 iOS 原生方式实现二维码的生成与解析
文章目录一、二维码的生成二、二维码的解析三、截图方法一、二维码的生成/** * 根据字符串生成二维码 CIImage 对象 * * @param urlString 需要生成二维码的字符串 * * @return 生成的二维码 */+ (CIImage *)creatQRcodeWithUrlstring:(NSString *)urlString{ // 1.实例化二维码滤镜 CIFilter *filter = [CIFilter filterWithName:
2020-07-07 17:40:27
617
原创 iOS 画笔轨迹优化
iOS 画笔轨迹优化一 、常规画法- (void)draw_draw:(CGPoint *)points context:(CGContextRef)context count:(NSInteger)count { CGContextFillPath(context); CGContextAddLines(context, points, count);//添加线 CGContextDrawPath(context, kCGPathStroke); //根据坐标绘制路径}二
2020-07-07 17:26:39
632
原创 CIFilter 、CIImage使用
这里利用苹果系统框架实现 UIImage *inputImage = [UIImage imageNamed:@"face.png"]; _mCIImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame) / 2, CGRectGetHeig...
2020-04-01 11:06:06
654
原创 iOS获取设备ip地址
一、头文件引入 #include <ifaddrs.h> #include <arpa/inet.h> #include <net/if.h> #define IOS_CELLULAR @"pdp_ip0" //有些分配的地址为en0 有些分配的en1 #define IOS_WIFI2 @"en2" #def...
2020-03-27 11:48:51
1861
原创 iOS 给App增加itunes 沙盒文件共享支持的功能
iOS 给App增加itunes 沙盒文件共享支持的功能在项目的 info.plist 增加如下key并设置为 YES,然后可通过itunes查看你app的沙盒内的文件;# 方式 一给app的plist配置文件中增加 UIFileSharingEnabled ,将这一项的值设置成YES# 方式 二“Application supports iTunes file sharing”,将...
2020-03-19 18:55:20
1514
原创 MacBook Pro硬盘大文件路径
作为iOS开发者,使用的电脑一般都为Mac Book Pro,在上面安装Xcode辅助开发;在使用一段时间会发现自己的电脑系统占用空间会比较多,这是可以查看下面的路径,清除大文件,会清理出一大部分空间;//路径com.apple.DeveloperTools/private/var/folders/d3/frp6mmzx4tb4r_x104rtvl6w0000gn/C/com.apple...
2020-02-01 19:30:21
1798
原创 Cocoapods创建本地库
该篇文章主要说明如何使用cocoapods本地库文章目录1、创建整体文件结构2、创建本地库3、修改podsec文件4、项目使用自己的库1、创建整体文件结构首先选一个位置创建一个文件夹,比如:CocoapodsProject;cd 到该“CocoapodsProject”路径下,然后创建库文件存放的文件夹,此处命名为“TestLibrary”;使用Xcode创建一个Project,此处命...
2019-12-16 14:31:31
926
原创 WebRTC.Framework: Non-public API usage问题
我们项目内用到了WebRTC做即时通讯,今天打包上传App Store Connnect发现一直被拒,提示我们是用到的WebRTC涉及私有API访问;如下图:这搞得我有点头大,因为1、我们的这个版本的WebRTC在AppStore已经上传过一个版本了;2、我们的客户也用我们的库上架了;让我一度怀疑是苹果的审核政策又改了;后来经过排查发现问题如下,比较坑,特记录在此;文章目录1、Ap...
2019-12-14 13:13:18
485
原创 WebRTC优选编码格式配置
WebRTC修改编码格式通过WebRTC获取支持的编码格式,然后设置优选编码格式:-(RTCPeerConnectionFactory *)peerConnectionFactory{ if(!_peerConnectionFactory) { RTCInitializeSSL(); RTCDefaultVideoEncoderFactory ...
2019-12-11 17:08:59
1696
原创 ios测试打包提速
该打包方式仅支持测试打包脚本打包将如下脚本添加到项目的“Run script”,没有的话就创建一个# 如果是Debug环境并且目录存在if [ "${CONFIGURATION}" = "Debug" ] && [ -d "${BUILD_ROOT}/${CONFIGURATION}-iphoneos" ]then# 打开工程目录cd ${BUILD_ROOT}/${...
2019-11-21 16:30:38
180
原创 WebRTC源码目录结构
├── ./base //基础平台库,包括线程、锁、socket等├── ./build //编译脚本,gyp├── ./common_audio //基础公共的音频处理│ ├── ./common_audio/include //就一个类型转换头文件│ ├── ./common_audio/resampler //音频重采样代码│ ├── ./common_au...
2019-06-13 15:59:35
883
原创 ios AVAudioSession多路视频数据播放声音问题
ios. 当需要同时播放多路视频流时发现 如果采用模式AVAudioSessionCategoryPlayAndRecord,则后续加入播放的视频流则无法走扬声器播放;而且,如果先播放在设置该模式,发现不太好使,有时能用,有时没效果;因此,在网上查资料发现,可以采用如下模式AVAudioSessionCategoryMultiRoute开启多路视频流的支持,这样就不会有问题了; ...
2019-06-06 13:58:50
1904
原创 iOS UIWebView 、WKWebView 与Safari 与省电模式
这里写自定义目录标题iOS在H5页面播放音视频1、iOS端webView默认播放音视频为全屏播放2、iOS端webView自动播放3、省电模式对H5播放音视频的影响4、低电量模式5、检测低电量模式iOS在H5页面播放音视频1、iOS端webView默认播放音视频为全屏播放 //如果需要在浏览器内部播放则需要如下 配置 webview.allowsInlineMediaPlayback...
2019-06-05 17:29:08
1594
转载 ios麦克风音量实时检测
一、全局变量声明@interface ViewController (){ AVAudioRecorder *recorder; NSTimer *levelTimer;}@property(nonatomic,strong)UILabel *labelVoice;@property(nonatomic,strong)CALayer *layerVoice;@end...
2019-02-24 14:39:27
4295
原创 ios performSelector延迟调用及取消问题
iOS延迟调用NSObject提供的相关函数如下:/**************** Delayed perform ******************/@interface NSObject (NSDelayedPerforming)- (void)performSelector:(SEL)aSelector withObject:(nullable id)anArgument...
2018-10-16 20:10:16
3475
1
原创 Mac 升级导致cocoapods失效问题
使用pod search出现如下错误MacBook-Pro:~ cc$ pod search jsonkit-bash: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: bad interpreter: No such file or directory这是Mac...
2018-10-08 09:56:08
357
转载 ios UIButton相关内容适配
一、ios button根据文字高度自适应 UIButton *btn = [UIButton new]; btn.translatesAutoresizingMaskIntoConstraints = NO; btn.titleLabel.numberOfLines = 0; [btn.titleLabel setLineBreakMode:NSLineBrea...
2018-06-14 14:23:54
518
原创 ios 防止应用崩溃 reason: '-[Person eat]: unrecognized selector sent to instance
创建一个测试类PersonPerson.h文件#import &lt;Foundation/Foundation.h&gt;@interface Person : NSObject- (void)eat;@endPerson.m文件#import "Person.h"@implementation Person+ (BOOL)resolveInstanceM...
2018-05-09 13:47:55
226
原创 OpenGL ES GLKit/GLKView/GLKViewController加载图片
Opengl ES初使用一、环境搭建1、用Xcode创建一个单控制器工程; 2、将一张图片拖到工程内,后续使用; 3、将ViewController的view类型修改为”GLKView”,ViewController.h文件内容#import <UIKit/UIKit.h>#import <GLKit/GLKit.h>@interface ViewCo...
2018-05-06 11:57:59
1530
原创 【ios】 Other Linker Flags配置
我们在使用第三方静态库的时候,一般会提醒在Other Linker Flags里边配置“-ObjC”或者“-all_load”或者“-force_load”;它们的作用是: //-ObjC 告诉链接器将库中的Objective-C类和Category类都加载进来(命名不重复的类),但是这样子做有个弊端。没有用到的类也都加载进来了,APP会变大。而且当库中只存在Category类时,“-ObjC”就
2018-03-22 15:54:23
1210
转载 ios 自动化打包脚本
每次更新sdk都需要重复的在真机下build,在模拟器下build,然后再合并静态库;为了解放双手,尝试着写了个脚本,一步完成以上工作。一、脚本文件#!/bin/bash#要build的target名target_Name=XXX#编译模式 Release、Debugbuild_model=Release#获取工程当前所在路径project_path=$(pwd)...
2018-03-21 15:54:14
763
原创 如何将数据放入打包好的ipa包
关于iOS开发很多人的任务主要是开发app,对数据的存储主要包括Document、Library、Temp路径下,其它地址也许就是服务器了;现在说明一个不常用且功能局限的新路径(无法进行代码实时存储数据,只能手工添加数据);在源代码路径下存储数据;一、打包后的数据目录结构iOS打包成ipa后的code的大致目录结构如下:众所周知iOS打包code需要代码签名,因此除了_CodeSignature文件
2018-03-05 11:01:22
1807
原创 利用Dubbo框架搭建微服务
Dubbo微服务框架搭建一、服务端环境搭建 a、provider安装 b、consumer安装 c、注册中心安装 d、监控中心安装 e、管理控制台安装二、服务端开发 a、provider开发 b、consumer开发 c、协议选择 d、注册中心选择//官方英文 http://dubbo.io/
2018-01-23 15:35:03
3548
原创 GPUImage 源码集成到项目中
我们开发中会用到一些静态库,自己的或者别人的;如果别人的没有源码的,直接使用.a库即可;如果是别人的库附带源码或者自己写的.a库,如果每次都打包编译替换.a库会显得比较麻烦,因此,我们可以将源码直接引入到工程这样操作起来方便了很多;参考GPUImage集成: http://www.jianshu.com/p/f7076dfd8b62
2017-12-22 10:53:26
378
原创 ios 人脸识别
目前的人脸识别方式主要有如下方式:1、face++ 2、AVFoundation 3、CoreImage 4、libeFaceDetection 5、OpenCVface++使用如下地址: http://blog.youkuaiyun.com/skyfromchina/article/details/22206367
2017-12-12 15:45:45
390
原创 ios runtime 汇总
本篇文章将一些runtime函数进行一下汇总说明:一iOS消息机制二函数交换 method_exchangeImplementations 三添加函数 class_addMethod 四获取属性及成员变量五归档一、iOS消息机制//iOS内部都是通过消息机制实现各个功能的//最好的体现就是通过指令`clang -rewrite-objc`实现objc到c++的转换,然后就可以看到里
2017-12-07 16:44:05
262
原创 ios clang 查看runtime的 c++编码
如何使用clang -rewrite-objc指令查看c++源码?由于直接使用-rewrite-objc xxx.m是会产生异常的,如果想正常使用可以使用如下指令://原始指令clang -x objective-c -rewrite-objc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulato
2017-12-06 20:14:04
559
原创 使用mac openssl 生成证书
第一步Openssl产生私钥 RSA第二步生成公钥第三步创建证书签名请求CSR文件第四步生成证书其它第一步:Openssl产生私钥 (RSA) //1、生成私钥 $ openssl genrsa -aes128 -out fd.key 2048 Generating RSA private key, 2048 bit long modulus ....+++ ......
2017-12-06 19:37:27
6689
1
原创 iOS 对称加解密之AES
本篇将要说的是iPhone系统自带的对称加解密函数;一引入加密头文件二实现AES加密三实现AES解密四总结对称加解密: i. DES 数据加密标准 ii. 3DES 同DES,只是采用了3个key进行了多次运算 iii. AES 高级密码标准 DES是早期的数据加密标准,AES是高级加密标准,而3DES是DES向AES转型的中间过渡产物;下面就说下AES: 首先,
2017-12-04 16:17:49
1126
原创 iOS 摘要的生成
有时我们为了项目数据保密,我们会做一些摘要设计,接下来说下苹果自带的一些摘要算法:md5、sha1、sha256等。我们自己编写摘要的实现,这样就可以避免第三方库的导入;如下代码都是在NSString类的扩展内实现的;一md5的实现二sha1实现三HMAC实现四辅助函数一、md5的实现- (NSString *)md5String { //方式一 const char *dat
2017-12-04 13:58:29
695
原创 ios CCRandomGenerateBytes 生成定长随机字符串
我们有时在项目中会遇到需要生成随机字符串的需求,现在说明其中的一种方法(利用苹果自带的库);一在工程内导入头文件二函数的使用一、在工程内导入头文件//这是导入了所有加密库的头文件#import <CommonCrypto/CommonCrypto.h>//如果只是使用random函数,那么只要做如下导入即可#import <CommonCrypto/CommonRandom.h>二、函数的使
2017-12-04 10:36:40
2690
原创 openssl 根据证书生成p7b证书链
第一步第二步总结我们项目中有时可能因为需要因此要校验持有证书是否是合法证书,因此需要校验当前证书的证书链;但是,可能有时由于其它原因没有证书链,下面介绍说明如何根据证书链的证书生成p7b证书链;首先,假设我们有一级证书 root01.cer、二级证书root02.cer 及需要校验的证书 user.cer第一步:如果制作证书链我们需要将der编码证书转换为pem,我们可以利用openssl指令
2017-12-02 22:44:49
5631
原创 iOS 链式编程(Masonry)
相信大多数同学都是用过Masonry框架进行布局,他是一个UI布局约束框架;1、首先Masonry主要用到了Block和链式编程,由于每个View都是可以通过自身实例直接调用,因此可以想到Masonry首先创建了UIView的一个分类“View+MASAdditions.h”;2、然后创建了一个“MASConstraintMaker.h”来管理相关的约束;3、约
2017-11-27 21:18:41
417
原创 ios 代码耗时统计
采用Block进行代码耗时比较方便,代码如下:#import CGFloat BNRTimeBlock (void (^block)(void)) { mach_timebase_info_data_t info; if (mach_timebase_info(&info) != KERN_SUCCESS) return -1.0;
2017-09-29 14:19:53
838
转载 ios 静态库解压
首先先准备一个静态库.a文件,比如叫staticLibrary.a,放在桌面的test目录里。分离arch首先先file一下staticLibrary.a,看一下该文件包含几种arch。~ cd Desktop/testtest lsstaticLibrary.atest file staticLibrary.a staticLibrary.a: Mach-O u
2017-09-29 13:26:58
458
原创 iOS 启动耗时统计
统计iOSApp启动时消耗时间:在Arguments中设置参数,打印出App加载的时长,包括整体加载时长,动态库加载时长等。在Environment Variables中添加DYLD_PRINT_STATISTICS字段,并设置为YES,在控制台就会打印加载时长。
2017-09-28 14:18:22
1420
转载 ios 手势识别
手势识别在iOS上非常重要,手势操作移动设备的重要特征,极大的增加了移动设备使用便捷性。iOS 中手势包括:UITapGestureRecognizer(点击),UIPinchGestureRecognizer(捏合),UIRotationGestureRecognizer(旋转),UISwipeGestureRecognizer(轻扫),UIPanGestureRecognizer(移动),UIL
2017-08-03 11:33:31
483
原创 iOS 苹果审核指南
Apple审核规范 地址:https://developer.apple.com/app-store/review/guidelines/cn/
2017-08-02 14:33:43
373
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人