自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (1)
  • 收藏
  • 关注

原创 nsstring 和 uint8转换

NSString *room_name = @"我是谁我是谁";UInt8 buff_name[1024];memcpy(buff_name, [room_name UTF8String],[room_name lengthOfBytesUsingEncoding:NSUTF8StringEncoding] + 1);//|UTF8String|返回是包含\0的 |lengthOfBytesUsingEncoding|计算不包括\0 所以这里加上一printf("%s", (char *).

2021-07-30 16:51:32 331

转载 关于iOS系统的Universal link 添加方式 (详细)

一、关于Universal Link Universal Link 是苹果在iOS9 中新增的新特性之一,类似于深层链接,可以更简单快速的通过打开一个通用的https链接来直接启动客户端app应用,在实现web-app的无缝链接时能提供极佳的用于体验。 与传统的URL Scheme作为对比,使用Universal Link可以通过点击链接直接跳转对应APP,不需要通过Sarafi浏览器。如果应用不支持的话,则会在Sarafi中打开该链接。二、Universal L...

2021-07-30 15:06:02 2741 1

转载 微信分享 每次都需要 二次跳转 正在链接

正确是用法是域名+配置文件的path。举个例子:通用链接 Universal Links域名为 https://help.wechat.com配置文件:{"appID": "8P7343TG54.com.tencent.xin.SDKSample", "paths": ["/sdksample/*"]}那么在微信开放平台登记以及在openSDK传入的Universal Links正确是:https://help.wechat.com/sdksample/代码中:[WXApi...

2021-07-30 14:33:39 1684

原创 关于iOS“白名单”的理解

之前一直误解LSApplicationQueriesSchemes“白名单”的概念:如果App1想要打开App2,必须把App2的URL scheme添加到App1的“白名单”中才能打开,这样理解是错误的。官方文档:说的是,在iOS9后,如果想要使用canOpenURL方法检查是否可以打这个URL或可以处理该URL的的App,需要在info.plist里添加LSApplicationQueriesSchemes字段来预设url,否则是否安装都会返回NO。所以“白名单”的意义是要检查当前.

2021-07-30 12:12:10 2421

转载 关于iOS XCode的entitlements文件

entitlements,全称 code signing entitlements。苹果官方的说明:https://developer.apple.com/library/archive/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/AboutEntitlements.html1| Entitlements confer specific capabilities or security permissio

2021-07-30 10:18:45 2692

转载 iOS 唤起APP之Universal Link(通用链接)

包含Xcode11.0的配置方式和iOS13出现的问题。什么是Universal Link(通用链接)Universal Link(通用链接)是Apple在iOS9推出的一种能够方便的通过传统HTTPS链接来启动APP的功能,可以使用相同的网址打开网址和APP。当你的应用支持Universal Link(通用链接),当用户点击一个链接是可以跳转到你的网站并获得无缝重定向到对应的APP,且不需要通过Safari浏览器。如果你的应用不支持的话,则会在Safari中打开该链接。在苹果开发者中可以看到对它的介

2021-07-30 10:03:48 5105

转载 iOS仿抖音上下滑动播放视频

首先看下效果图前言上一篇文章仿写了抖音的左右滑动效果-iOS之仿抖音左右滑动效果,有兴趣的可以去GKNavigationBarViewController的demo中查看。 这篇文章主要是对抖音的上下滑动及视频播放功能做介绍。其中上下滑动用的是UIScrollview,包含3个子视图。视频播放用的是TX的独立播放器TXLiteAVSDK_Player,可实现音视频的点播、直播等功能。demo中的视频是通过抓包获取的百度的伙拍小视频,仅供学习使用。说明1、上下滑动切换视图实现主要是

2021-07-29 17:13:02 2024

转载 常见签名算法之SHA256withRSA

概述 在https://blog.csdn.net/chinoukin/article/details/100934995章节中,我介绍了用Hmac算法用于签名算法中的方法,本章节中将对常见的签名算法“SHA256withRSA”做一下分析与介绍。此文由来 当我在使用springcloud的oauth2时,经常会用到jwt作为用户身份的确认和鉴权。而我们知道jwt是由三部分组成,其中第三部分就是数字签名了,而springcloud的oauth2中的默认jwt签名算法为SHA256wi...

2021-07-29 10:57:19 6857

原创 获取iPhone/iPad设备网络类型(2G,3G,4G,5G,WIFI)

目前我们获取手机网络类型主要还是用的 AFNetwork但是AFNetwork有个问题就是类型不够充分,只能四种类型typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) { AFNetworkReachabilityStatusUnknown = -1, AFNetworkReachabilityStatusNotReachable = 0, AFNetworkReachabilityS

2021-07-28 18:32:04 2020 1

转载 中国广告协会的CAID方案

前些时间看到一个消息,腾讯、百度和字节跳动测试工具绕开苹果的ATT(AppTrackingTransparency,简称 ATT,旨在保护用户隐私的应用追踪透明度框架),估计这个应该是在测试CAID。 过一两天又出现一个消息,苹果警告中国开发者,不要绕开苹果的ATT,否则会被下架。 其实中国广告协会2020年就在计划推出CAID,为此还成立了CDA Tech Lab互联网广告技术实验室,主要为了推进互联网广告各项标准和技术工具的落地实施,支撑...

2021-07-28 18:18:14 53858

转载 正确地获取手机运营商

通常的做法都是通过CTTelephonyNetworkInfo来做判断。但是在实际应用的时候,发现在双卡iPhone上会有bug,并不能正确地获取到运营商信息。所以,在前人的轮子基础上,改造了一下。主要思路是先通过CTTelephonyNetworkInfo类来判断当前的iPhone是不是支持双卡,如果不是双卡手机,还是用老的套路去获取就行了。如果是双卡手机,那么就从状态栏里面获取。废话不说,直接上代码#import <CoreTelephony/CTCarrier.h>#

2021-07-28 18:13:18 858

转载 iOS关于时间的处理

做App避免不了要和时间打交道,关于时间的处理,里面有不少门道,远不是一行API调用,获取当前系统时间这么简单。我们需要了解与时间相关的各种API之间的差别,再因场景而异去设计相应的机制。时间的形式在开始深入讨论之前,我们需要确信一个前提:时间是线性的。即任意一个时刻,这个地球上只有一个绝对时间值存在,只不过因为时区或者文化的差异,处于同一时空的我们对同一时间的表述或者理解不同。这个看似简单明了的道理,是我们理解各种与时间相关的复杂概念的基石。就像UTF-8和UTF-16其实都是Unicode一样,

2021-07-28 17:28:38 376

原创 UIButton的图片和文字

项目中常遇见图片和文字都有的格式,这里可以创建一个UIButton的类别,#import <UIKit/UIKit.h>typedef NS_ENUM(NSInteger, ZJButtonImageStyle){ ZJButtonImageStyleTop = 0, //图片在上,文字在下 ZJButtonImageStyleLeft, //图片在左,文字在右 ZJButtonImageStyleBottom, //图片在下,文字在上...

2021-07-26 17:07:19 391

原创 圆形进度条

2021-07-23 14:29:42 51

原创 iOS 自定义加载动画显示

如上图所示,下拉刷新要动画显示,文字居中,如果用MJRefreshGifHeader,则动画在左,文字在右,所以只能自定义动画显示.文件里内容如下:#import "MJDIYHeader.h"@interface MJDIYHeader()@property (weak, nonatomic) UILabel *label;@property (weak, nonatomic) UIImageView *gifView;/** 所有状态对应的动画图片 */@pr..

2021-07-22 19:07:09 944 1

转载 一行代码集成空白页面占位图(基于runtime+MJRefresh思想)

LYEmptyView此框架是本人在5,6个月前,公司启动新项目的时候,一起开始着手编写的,经过这个项目的验证与考验,不断的进行完善,在此特将这份框架分享出来供大家参考与学习。github地址不需要遵循协议,不需要设置代理,不需要实现代理方法,只需这一句代码,就可为一个UITableViwe/UICollectionView集成空白页面占位图。self.tableView.ly_emptyView = [MyDIYEmpty diyNoDataEmpty];目录 一 效果展示...

2021-07-22 17:59:15 297

转载 iOS项目常用的第三方框架

https://blog.csdn.net/ozhaihenzhai/article/details/1046129021.常用框架集合2https://github.com/axclogo/AxcUIKit-Sample2.左右翻页https://github.com/12207480/TYPagerControllerhttps://github.com/wangmchn/WMPageControllerhttps://github.com/tianzhuo112/VTMag

2021-07-22 11:17:29 965

转载 iOS比较常用的第三方及实例(不断更新中)

把平时看到或项目用到的一些插件进行整理,文章后面分享一些不错的实例,若你有其它的插件欢迎分享,不断的进行更新;一:第三方插件1:基于响应式编程思想的oc地址:https://github.com/ReactiveCocoa/ReactiveCocoa2:hud提示框地址:https://github.com/jdg/MBProgressHUD地址:https://github.com/SVProgressHUD/SVProgressHUD地址:https://github.c

2021-07-22 11:15:50 8028

原创 WKWebView

#import <WebKit/WebKit.h>self.userContentController = [[WKUserContentController alloc] init]; self.webViewConfig = [[WKWebViewConfiguration alloc] init]; self.webViewConfig.userContentController = self.userContentController; self...

2021-07-22 10:54:24 419

转载 简述@weakify、@strongify

前言在开发中,经常在控制器中用到block语句,在block语句中如果需引用self,而self(控制器)对象中又持有block对象,就会造成循环引用循环引用,导致内存泄露,比如以下代码:self.block = ^{ [self test]; };一般我们是用一个__weal修饰的weakSelf变量指向self对象,在block中使用weakSelf:__weak typeof(self) weakSelf = self; self.bloc

2021-07-22 10:28:08 1542

转载 iOS视频播放器之ZFPlayer剖析

引言本文主要针对ZFPlayer的功能实现来剖析,以及总结一下大家遇到的问题和解决方案首先ZFPlayer现在拥有的功能:支持横、竖屏切换,在全屏播放模式下还可以锁定屏幕方向支持本地视频、网络视频播放 支持在TableviewCell播放视频 左侧1/2位置上下滑动调节屏幕亮度(模拟器调不了亮度,请在真机调试) 右侧1/2位置上下滑动调节音量(模拟器调不了音量,请在真机调试) 左右滑动调节播放进度 全屏状态下拖动slider控制进度,显示视频的预览图 断点下载功能 切换视频分

2021-07-21 13:55:37 2587

转载 iOS 14广告适配SKAdNetwork

SKAdNetworkIdentity:ironsource:SU67R6K2V3.skadnetwork 穿山甲:238da6jt44.skadnetwork(国内)、22mmun2rn5.skadnetwork(海外) admob:cstr6suwn9.skadnetwork UnityAds:4DZT52R2T5.skadnetwork Mintegral: KBD757YWX3.skadnetwork Vungle: GTA9LK7P23.skadnetwork AppL...

2021-07-21 10:24:56 558

转载 iOS 判断App是否已下载并打开

遇到过这样的需求:比如公司有偿推广某款APP,要客户端判断该用户有没有下载,下载了就直接打开,没下载就跳到AppStore下载。1.判断用户是否已下载首先后台会给一个app的bundleID,根据bundleID来查看有没有这个app,方法如下:开始接手项目的时候是采用苹果私有的API获取手机所有的app信息,找出bundleID 相同的一个。不过iOS10之后这个私有API就已经给封了。别灰心,苹果MobileContainerManager私有API,可以直接判断这个bundleID是否

2021-07-20 16:46:31 1189

转载 iOS使用OpenSSL进行RSA加密、验签的心得

最近做跨境支付类项目,安全要求等级比较高。数据加密验签流程比较复杂。先做一个复盘。工作流程:App创建RSA密钥对,将公钥(cPubKey)和IMEI码发送给服务器,私钥(cPriKey)保存本地。 服务器根据IMEI也创建RSA密钥对和一个32位随机码(RandKey)将私钥(serverPriKey)和RandKey根据IMEI码保存在服务端。返回给客户端服务器公钥(serverPubKey)和用cPubKey加密的RandKey, 客户端用cPriKey解密RandKey保存。 完成1、2

2021-07-20 14:53:09 1432

转载 iOS 生成 SecKeyRef 的正规方式

iOS 生成 SecKeyRef 的正规方式前言针对 macOS 的开发,多年以前苹果就弃用了 OpenSSL,转而推荐自有框架 Security 和 CommonCrypto。当然你仍然可以使用 OpenSSL,比如说在 iOS 上使用开源库OpenSSL for iPhone。苹果有一套自己的方式来生成各种密钥(对称加密、非对称加密),你可以查看苹果的 sample codeCryptoExercise,来了解如何在苹果自有平台(macOS、iOS、 tvOS 等等)上使用这一套机制。..

2021-07-19 16:27:04 894

转载 iOS密码管理Keychain的使用

keychain(钥匙串)存储在iOS系统中,并且恢复iPhone会使keychain的内容也恢复.但是删除App是不会影响keychain.不同App之间Keychain是不能相互访问的,但是可以通过配置keychain-sharing来解决。配置keychain-sharing如图,在两个项目中配置keychain-sharing,这样就可以访问互相的keychain,以此达到共享数据如何使用keychain是一个结构,有很多key-value指定服务类..

2021-07-19 15:18:44 824

转载 iOS - ECC椭圆曲线、ECDSA签名验签和ECIES加解密本文来源

内容简介:ECC椭圆曲线详解前言ECC英文全称"Ellipse Curve Cryptography",与传统的基于大质数因子分解困难性的加密方法不同,ECC通过椭圆曲线方程式的性质产生密钥ECC椭圆曲线详解前言ECC英文全称"Ellipse Curve Cryptography",与传统的基于大质数因子分解困难性的加密方法不同,ECC通过椭圆曲线方程式的性质产生密钥ECC164位的密钥产生一个安全级,相当于RSA 1024位密钥提供的保密强度,而且计算量较小,处理速度更快,存储空间和传输带

2021-07-19 15:06:25 2107

转载 通过openssl生成sm2的公私钥的方法

在openssl中,支持sm2的公私钥的生成方法,不过其名称并不是sm2的字面意思,而是ec,到openssl的apps文件夹下,输入命令如下所示:./openssl ecparam -genkey -name SM2 -out priv.key其中SM2是一个曲线的名称,符合国密算法要求,通过-list_curves可以看到全部的名称,这里并不深入其中的含义,输出如下:-----BEGIN EC PARAMETERS-----BgUrgQQAHg==-----END EC PARAMET

2021-07-19 14:18:47 3706

转载 ios中生成RSA密钥字符串

嘟哝嘟哝:最近接到一个任务:在客户端动态生成RSA密钥对,然后向服务器发送这个密钥对中的公钥字符串,由服务器进行公钥加密,返回加密后的信息,再由客户端使用私钥进行解密。我在网上查阅了大量的资料,但是大多是利用公钥私钥文件,或者直接接收RSA公私钥字符串进行加密解密,没有生成并转换成字符串,这里我们就介绍一下我是如何实现这个功能的,以备后用。 我今天要介绍的RSA加密属于非对称加密。对于安全性来说显然非对称加密更优于对称加密。在使用中,甲方需要同时生成公开密钥(公钥)和私有密钥(私钥),把其中...

2021-07-19 14:10:53 1394 1

转载 SHA256算法原理及其实现

SHA家族的五个算法,分别是SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512,由美国国家安全局(NSA)所规划,并由美国国家规范与技能研究院(NIST)发布。该算法是美国的政府规范算法,后四者有时并称为SHA-2。SHA在很多安全协定中广为运用,包含TLS和SSL、PGP、SSH、S/MIME和IPsec,曾被视为是MD5(更早之前被广为运用的杂凑函数)的后继者。 但SHA-1的安全性现在被密码学家严峻质疑,有学者曾经爆出NSA在SHA-1留下的后门。虽然至今尚未出现对SH

2021-07-19 10:25:35 16749

转载 iOS使用Security.framework进行RSA 加密解密签名和验证签名

iOS 上 Security.framework为我们提供了安全方面相关的api;Security框架提供的RSA在iOS上使用的一些小结支持的RSA keySize 大小有:512,768,1024,2048位 支持的RSA 填充方式有三种:NOPadding,PKCS1,OAEP 三种方式 ,填充方式影响最大分组加密数据块的大小 签名使用的填充方式PKCS1, 支持的签名算法有 sha1,sha256,sha224,sha384,sha512 Nopadding填充最大数据块为 下面接口.

2021-07-19 10:05:00 1271

转载 iOS RSA加签 验签 与Java同步 pkcs8 pkcs1

先简单介绍一下RSA。1.加密、解密:使用公钥对数据进行加密,通过私钥对加密后的数据解密。2.加签、解签:使用私钥对数据进行签名,通过加签名的数据和公钥进行数据验证,以确认合法性。网上RSA相关的代码、文章有很多,这篇文章主要是提醒iOS开发者,注意pkcs8是用于java的,如果后端只给了你私钥,你要先判断一下这个私钥匙是不是iOS支持的pkcs1。后端给了我一个.pem 文件,我按照网上的方法,通过终端使用openssl命令生成.csr文件,在这一步报错了,原因是这个.pem 文件密钥格式是

2021-07-16 17:53:48 695

转载 iOS逆向一:数字签名&苹果应用双重签名原理&应用重签名

hashhash(哈希)算法是指将任意长度的文本,通过一个算法后得到一个固定长度的文本(也可能是二进制数据),哈希其实是一种思想,所有符合这种思想的算法都可以称之为哈希算法(不如MD5,sha1,sha256)哈希算法具有以下特点:1. 相同的源文本,通过算法得到的结果必然相同2. 不同的原文本,通过算法得到的结果必然不同(也有散列碰撞的情况不过概率很小)3. 无法从结果反推出源文本hash的应用:1.用户密码的加密2.搜索引擎3.版权/云盘秒传功能4、数字签名数字签名实际上数字签名

2021-07-16 15:31:56 2393

转载 RSA加密解密中pkcs1与pkcs8格式私钥互相转换

net,ios中rsa加解密使用的是pkcs1,而java使用的是pkcs8如果是按1024取模(通常都是1024),pkcs1格式的私钥长度应该是812。如果是pkcs8的格式的密钥长度为861。下载安装openssl:https://pan.baidu.com/s/1ggQJIIR我这边使用的是Win64OpenSSL_Light-1_1_0g.exePKCS1私钥生成:OpenSSL> genrsa -out pkcs1_private.pem 1024Generatin

2021-07-16 14:11:01 6264

转载 pkcs1与pkcs8格式RSA私钥互相转换

1、PKCS1私钥生成openssl genrsa -out private.pem 1024private.pem 的内容如下:-----BEGIN RSA PRIVATE KEY-----MIICXAIBAAKBgQC5BW6T9GVaaG/epGDjPpY3wN0DrBt+NojvxkEgpUdOAxgAepqeGbSqtXAd+MOOBbHxIOEwrFC9stkypQgxrB49tXDI+4Jj8MuKI15HEmI8k7+tRDOlJ5TFSL2J9KA3GuQbyVAh

2021-07-16 13:45:31 1237

转载 IOS之RSA加密解密与后台之间的双向加密详解

IOS之RSA加密解密与后台之间的双向加密详解序言因为项目中需要用到RSA加密,刚开始也是有点乱,这两天也整理的差不多了,希望能帮到大家。这次先上代码,我想大部分人肯定是着急解决问题,所以不要废话太多。IOS端后台是PHP,给我了一段公钥和他用私钥加密后的base64编码,让我先解一下,看看能否解出(请先不要纠结为什么给我公钥解密,公钥私钥都可以解密,具体后面会讲到)。公钥: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3//sR2tX

2021-07-16 11:53:10 1057

转载 RSA私钥文件(PEM-PKCS#8)解析

***此文仅针对没有执行加密的PKCS#8私钥文件***一、实例解析PKCS#8格式使用的是ASN.1结构,首先我们对一个没有执行加密的PKCS#8格式私钥文件进行一下解析,方便我们下面分析其结构。命令:openssl asn1parse -i -in privatekey.pem结果如下:[html] view plaincopy0:d=0 hl=4 l=1213 cons: SEQUENCE4:d=1 hl=2 l= 1 prim: INTEGER ...

2021-07-15 15:31:41 3467

转载 iOS RSA非对称加密证书的生成(简洁明了)

前言iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于解密. 首先需要先生成这些文件,然后再将文件导入工程使用。数字证书则是由证书认证机构(CA)对证书申请者真实身份验证之后,用CA的根证书对申请人的一些基本信息以及申请人的公钥进行签名(相当于加盖发证书机 构的公章)后形成的一个数字文件。CA完成签发证书后,会将证书发布在CA的证书库(目录服务器)中,任何人

2021-07-15 15:15:56 939

转载 SKAdNetwork 的限制 – 优缺点与移动跟踪 MMP

Apple 针对 iOS 14 的近期计划将导致 IDFA 对移动 app 广告主失去作用,Apple 提出的代替方案就是 SKAdNetwork。不论怎样,这种新框架都将给移动归因生态系统带来巨变。什么是 SKAdNetwork?最近几周,SKAdNetwork 一直都萦绕在每个移动营销者的脑海里,现在,API 可能将成为主流。SKAdNetwork 并不是一个新概念,早在 2018 年 Apple 就提出过这个概念。它功能有限,缺乏真正的激励效果,因此采用率很低,甚至坊间流言Apple 只是为.

2021-07-15 11:13:11 790

转载 关于 SKAdNetwork 的常见问题,针对广告主端的开发者

Q: 这个话题我需要关心吗? A: 如果您是iOS开发者,通过广告平台来投放广告获取用户,那么本篇内容就是为您准备的。Q: 我需要了解什么,准备什么? A: 1)大致了解 SKAdNetwork 框架的官方文档 2)与合作的广告平台沟通,了解平台相关问题的解决方案进展(iOS14,SKAdNetwork) 3)如果您对此话题完全陌生的话,您可能还需了解iOS14关于 AppTrackingTransparency 的文档Q: registerAppForAdNetworkAttribution 的用

2021-07-15 10:46:18 1976

用户停留浏览页面的时间统计

用户停留浏览页面的时间统计,每1分钟获得一个红包或者金币的计算。首次进入页面计算时间,一旦停止在某个位置就增加某个固定的时间后停止增加。一旦滑动页面就继续增加时间。达到时间就最终停止,并进行下一轮统计

2023-11-07

libarclite-iphoneos.a

https://github.com/kamyarelyasi/Libarclite-Files中的libarclite_iphoneos.a

2023-11-07

iOS 14 YYAnimatedImageView加载图片失败处理

iOS 14 YYAnimatedImageView加载图片失败处理

2023-10-09

GTMBase64文件下载

GTMBase64加密文件下载

2023-08-24

GTMBase64文件下载

GTMBase64加密文件下载

2023-08-24

单词查询软件

实现单词查询,增加,删除功能,简单便捷的源代码,让你爱不释手喜欢上iOS

2014-02-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除