![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ios
晴天有鱼
努力吧 少年
展开
-
iOS 区分sdk是静态库还是动态库
C02S2JBDFVH5:~ admin$ cd /Users/Downloads/OCFTFaceDetect/OCFTFaceDetect_Products/OCFTFaceDetect.frameworkC02S2JBDFVH5:OCFTFaceDetect.framework admin$ file OCFTFaceDetectOCFTFaceDetect: Mach-O universal binary with 4 architectures: [x86_64:Mach-O 64-bi.原创 2020-11-12 14:19:31 · 610 阅读 · 0 评论 -
iOS bounds和frame的区别
@interface ViewController (){ UIView *_viewA; UIView *_viewB;}@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; _viewA = [[UIView alloc] initWithFrame:CGRectMake(50, 200, 200, 200)]; _viewA.backgroundC.原创 2020-10-27 11:57:32 · 249 阅读 · 0 评论 -
LaunchScreen.storyboard启动图适配
iOS 8之前我们都是通过LaunchImage来设置启动图,随着苹果设备的更新,尺寸也越来越多,这时候我们需要设置各种设备的启动图,而且每次增加新的尺寸的设备都需要添加相应尺寸的启动图,这个比较麻烦。因此iOS 8苹果引入了LaunchScreen.storyboard,支持了AutoLayout 和 SizeClass,这样能够更加方便的适配各种屏幕。注意⚠️:苹果提出内容从2020年4月份开始,所有支持iOS 13的App必须提供LaunchScreen.storyboard,否则将无法提交到Ap转载 2020-05-25 15:49:59 · 1172 阅读 · 0 评论 -
iOS UITableView 开启预估高度, 列表闪烁,向上或者向下位移
当我们开启预估高度,cell中约束做好,那么cell就会自动适配内容大小,很方便,但也有问题,列表闪烁,向上或者向下位移。- (void)viewDidLoad {//开启预估行高 //_tableview.estimatedRowHeight = 0; 先注掉, _tableview.rowHeight = UITableViewAutomaticDimension;//我的headerView和footView都是自定义的,没拉约束,所以就关掉下面两个 _tablev原创 2020-05-15 18:58:15 · 787 阅读 · 0 评论 -
XXX iPhone has denied the launch request
这两天又碰到了XXX iPhone has denied the launch request问题,很烦,每次解决都忘记解决方案,现在记录下。方案 1,检查自己的Provisioning Profile是否正确,我这次就测试证书的描述文件选择错了导致的,所以先检查下证书和描述文件。方案2,如果你是用自己的appid来无证书调试,需要你点击targets->Capabilities->打开 App Group,等下面的都打对勾,再关闭 App Group,重新运行。方案3,如果还是不.原创 2020-05-13 10:13:09 · 281 阅读 · 0 评论 -
swift 算法 两数之和
给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]来源:力扣(...原创 2020-05-06 21:27:42 · 436 阅读 · 0 评论 -
iOS 远程推送原理
iOS 推送通知的基本原理苹果的推送服务通知是由自己专门的推送服务器APNS来完成的,其过程就是APNS接收我们的应用服务器发出的被推送的消息,将这条消息推送到置顶的iOS 设备上,然后再由iOS设备通知到我们的应用程序,我们将以通知或者声音的形式收到推送回来的证书,iOS远程推送的前提是,装有我们应用的iOS设备,需要向APNS服务器注册,注册成功后,APNS服务将会返回给我们一个de...转载 2020-04-20 14:18:28 · 210 阅读 · 0 评论 -
iOS tableview切换不同数据源,tableview滚动到分区第一行,tableview滚动位置不准确
//关闭tableview的预估cell,heard &foot高度,解决tablevie滚动指定位置不准确 _tableview.estimatedRowHeight = 0; _tableview.estimatedSectionHeaderHeight = 0; _tableview.estimatedSectionFooterHeight = 0; ...原创 2020-04-15 14:36:27 · 585 阅读 · 0 评论 -
navigationBar.translucent = NO,引起页面下移
设置导航条透明,导致页面下移 self.navigationController.navigationBar.translucent = NO;会引起页面下移iOS 7之后由于navigationBar.translucent 默认是YES,左边默认在(0,0)点,当不透明的时候,0点在(0,64)如果你想设成透明的,而且还要零点从(0,64)开始,那就添加:self.edge...原创 2020-04-14 15:47:37 · 479 阅读 · 0 评论 -
ios9 设置launch storyboard 不能到顶部
由于iOS9以后有安全区概念,所以我们设置启动页的时候,总会距离上面留下一个状态栏的高度,解决方法是,图片的second item 改成 Superview.Top,然后constant是0就好了。...原创 2020-01-20 16:37:52 · 308 阅读 · 0 评论 -
ios 富文本 实现UITextView中关注字可点击可点击
//添加隐私权政策提示view-(void)addPrivacyAlartView{ bgview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, ScreenHeight)]; bgview.backgroundColor = [UIColor lightGrayColor]; bgview....原创 2020-01-09 16:51:14 · 638 阅读 · 0 评论 -
iOS 拉去storyboard或者xib的约束,代码修改约束不生效的问题
背景如标题,我在awakeFromNib或者viewDidLoad修改约束的constant值,没有生效,原因是: 你在 viewDidLoad中修改的约束的代码块运行了,但是运行完之后又被 storyboard自己的配置给覆盖了,所以 你看到的还是之前的约束!这就说明storyboard的初始化优先于它对应的vc的viewDidLoad。解决办法: 让修改 constant值或者约束的语句延...原创 2019-12-27 16:37:02 · 1167 阅读 · 0 评论 -
ios python 国际化提取代码中的所有汉字
#-*- coding:utf-8-*-#处理中文字符的情况import sysreload(sys)sys.setdefaultencoding('utf-8')import osimport reimport codecs# 搜寻以下文件类型suf_set = ('.h', '.m','.pch')# 项目路径# ../文件夹路径project_path = '/...原创 2019-12-27 16:30:25 · 624 阅读 · 0 评论 -
ios -修改tabaritem的大小,和title的字体
项目在iPad的tabbar上显示有点小,所以我们调节一下tabbaritem的相对位置,和item上文字的字体大小。方法如下:-(void)changeBaritemFrameAndFont :(UINavigationController *)nav{ nav.tabBarItem.imageInsets = UIEdgeInsetsMake(-5, 0, 0, 0);...原创 2019-12-24 17:38:27 · 901 阅读 · 0 评论 -
ipad 使用UIImagePickerController调取系统相册报错
从IPhone项目转ipad的时候,调取系统相册,无效果,控制台打印:Attempt to present <UIImagePickerController: 0x1209bb800> on <InputInsurancePlicyVC: 0x120972a00> while a presentation is in progress!解决方案: [[NSO...原创 2019-12-24 16:39:12 · 370 阅读 · 0 评论 -
iOS11 iPad tabbar 横排 变为竖排
iOS 11以后,iPad上的tababr从竖排变成了横排,虽然不是bug,但谁叫老板觉得不好看那。首先我的机器是iPad air 12.4解决方案: 在我的tabbarcontroller中重写UITrationCollection,代码如下:- (UITraitCollection *)traitCollection{ UITraitCollection *c...原创 2019-12-23 16:48:22 · 782 阅读 · 0 评论 -
ios 解决app整体需要禁止横屏,sdk或个别页面需要横屏
我遇到的问题是sdk中的,app整体需要禁止横屏,sdk内部的识别页需要横屏,所以有参考网上大神的代码,最后发现最好的解决方案是运行时-runtimeOCFTOCRRotation.h----------------------------------------------------#import <Foundation/Foundation.h>NS_ASSUME_...原创 2019-07-22 17:55:00 · 495 阅读 · 0 评论 -
iOS企业级证书In house与 Ad hoc 区别如下
iOS企业级证书In house与 Ad hoc 区别如下:企业级证书申请provising profile时,发现存在两种类型的type:一个是Universal Distribution,另一个是Distribution,如下图,这是由申请时选择的是In House 还是Ad Hoc导致的。In House对应的是Universal Distribution是支持所有设备,而A...原创 2019-08-09 13:59:59 · 3881 阅读 · 0 评论 -
iOS 生成缩略图 -image i/o
/** 利用Image i/o @param data 图片data @param size UIImageView尺寸 @param scale 压缩比 0-1放大 拉伸 =1 原图,<1 压缩 //s饰演的结果是这个参数,并不能改变图片的大小 @param orientation 方向 //这个参数可以方便我们对图片作出旋转比如上-》下,镜像; @return 缩略图 ...原创 2019-08-14 17:25:15 · 688 阅读 · 0 评论 -
ios 多个网络请求成功以后,在回调给H5
dispatch_group_t group = dispatch_group_create(); dispatch_group_enter(group); dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DE...原创 2019-08-29 10:52:15 · 327 阅读 · 0 评论 -
ios 录音-剪切-计算时长,播放
首先导入框架#import <AVFoundation/AVFoundation.h>计算录音文件的时长方法1: //获取音频时长 AVURLAsset* audioAsset =[AVURLAsset URLAssetWithURL:[NSURL fileURLWithPath:path] options:nil]; CMTime audioDuration=...原创 2019-08-29 16:06:26 · 463 阅读 · 0 评论 -
ios -调取手电筒
#import <AVFoundation/AVFoundation.h>@property (nonatomic,strong) AVCaptureDevice *device;-(void)Open:(UIButton *)sender{ sender.selected=!sender.selected; self.device = [AVCaptu...原创 2019-10-08 14:33:51 · 158 阅读 · 0 评论 -
ios 使用aggregate打包通用库的脚本
#!/bin/sh#要build的target名TARGET_NAME=${PROJECT_NAME}if [[ $1 ]]thenTARGET_NAME=$1fiUNIVERSAL_OUTPUT_FOLDER="${SRCROOT}/${PROJECT_NAME}_Products/"#创建输出目录,并删除之前的framework文件mkdir -p "${UNIVERSA...转载 2019-07-02 17:24:13 · 1431 阅读 · 0 评论 -
ios -图片添加水印
-(UIImage *)aspjpegImage:(UIImage *)img withWord:(NSString *)word{ NSString* mark = word; int w = img.size.width; int h = img.size.height; //UIGraphicsBeginImageCont...原创 2018-11-21 15:38:48 · 1125 阅读 · 0 评论 -
ios swit使用ocSDK
1.先创建桥接文件,步骤command+N——》iOS——》Header File——》名字“项目名字Header”2.Build Setting ——》objective-c Bridging Header ——》把创建的header文件拉进去然后在header文件中引入sdk文件#ifndef ocr_swiftBridgeHeader_h#define ocr_swi...原创 2019-07-25 17:20:50 · 143 阅读 · 0 评论 -
ios swift -通知
//观察者注册通知 let notName = Notification.Name(rawValue: "test") NotificationCenter.default.addObserver(self, selector: #selector(self.reloadData), name: notName, object: nil)//观察者接收到消息后进行处理 @objc fu...原创 2019-07-25 17:00:53 · 436 阅读 · 0 评论 -
ios UITextView 文字处理
项目中遇到一个问题,UITextView内容是由两段文字组成的,上下的结构,但是上面或下面的文字过长的话,就会很不友好,直接显示不全,项目经理让我在文字后面加...,省略号。我的想法是: 1.首先计算UITextView的宽度 2.计算出文字所占的长度,如果长度大于UITextView的宽度,就要做处理。 ...原创 2018-12-19 14:28:51 · 171 阅读 · 0 评论 -
ios WKWebView 和网页交互
1.wk的注册和配置/*使用WKUserContentController实现js native的实现 ,简单的说就是先注册约定好的方法,然后再调用。 */@interface ViewController2 ()<WKNavigationDelegate,WKUIDelegate,WKScriptMessageHandler,WKDelegate>{ WKWe...原创 2018-12-06 14:37:44 · 450 阅读 · 0 评论 -
ios 错误
这几天遇到一个问题,电信4G下,公司app登录会直接报错,请求失败,基本上看不到像后台发送请求的样子;最后解决的方法是去掉info中:Allow Arbitrary Loads in Web Content 原因:还没查到,解决方法是根据线上和测试版本之间的对比。还有待研究。。...原创 2018-12-06 13:55:25 · 121 阅读 · 0 评论 -
ios -webView和WKWebView 返回历史页面
webViewNSInteger step; //返回的页面 0是首页[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.history.go(-%ld)", (long) step]];WKWebView NSInteger step;//返回的页码,0是首页...原创 2018-12-12 16:41:36 · 3334 阅读 · 0 评论 -
ios GCD-信号量(semaphore)
GCD 信号量,主要有三个方法: dispatch_semaphore_create(long value); 创建信号量 ,value代表同一时间执行的线程数。 dispatch_semaphore_wait(dispatch_semaphore_t dsema, dispatch_time_t timeout);第一个参数是信号量,第二个参数: ...原创 2018-11-26 17:12:29 · 445 阅读 · 0 评论 -
ios 错误
使用真机测试的时候发现问题: Your development team, "", does not support the Push Notifications capability.字面意思就是自己的开发这张画,没有推送权限呗。解决方法是:找到打开推送时候,生产的.entitlements文件,打卡它,里面是<?xml version="1.0" encoding="U...原创 2018-11-23 14:32:31 · 207 阅读 · 0 评论 -
ios -图片压缩
方法一:/** * 调整图片尺寸和大小 * * @param sourceImage 原始图片 * @param maxImageSize 新图片最大尺寸 * @param maxSize 新图片最大存储大小 * * @return 新图片imageData */- (NSData *)reSizeImageData:(UIImage *)source...转载 2018-11-21 15:03:02 · 637 阅读 · 0 评论 -
iOS 使用内联函数
发现项目中有inline,以前没接触过,所以查了些资料, 内联函数与宏定义区别 (1)内联函数在编译时展开,宏在预编译时展开; (2)内联函数直接嵌入到目标代码中,宏是简单的做文本替换; (3)内联函数有类型检测、语法判断等功能,而宏没有; (4)inline函数是函数,宏不是; (5)宏定义时要注意书写(参数要括起来)否则容易出现歧义,内联函数不会产生歧义;...原创 2018-11-20 16:57:22 · 742 阅读 · 0 评论 -
ios block
block一直用的少,今天在网上看了些,想要记录一下。在xcode上 打inlineBlock 会出现block的格式 returnType(^blockName)(parameterTypes) = ^(parameters) { statements };返回值的格式(^ block名字)(参数的类型) =^( 参数){}block可以用在控制器间...原创 2018-11-20 16:40:29 · 71 阅读 · 0 评论 -
iOS 安全-阻止动态调试
//// main.m#import <UIKit/UIKit.h>#import "AppDelegate.h"/***************************阻止动态调试****************************/#import <dlfcn.h>#import <sys/types.h>ty...原创 2018-11-20 16:41:43 · 1113 阅读 · 0 评论 -
ios - 视频播放器
//// ViewController.m// VideoPlay////#import "ViewController.h"#import <AVFoundation/AVFoundation.h>@interface ViewController (){ AVPlayer *player; AVPlayerItem*item...原创 2018-11-20 16:41:27 · 277 阅读 · 1 评论 -
swift1
swift 初学1.var 声明变量, let 声明常量 var red,green,blue:Double //var 声明变量 red = 0.5 green = 30.5 blue = 234 let age = 18 //let 声明常量/*** swift 使用\(常量或者变量)把常量或者变量打印出来 ...原创 2018-03-13 09:42:16 · 180 阅读 · 0 评论 -
CABasicAnimation基本动画 各种属性
/*** CABasicAnimation 使用方法animationWithKeyPath" 对CABasicAnimation 进行实例化注册,并指定layer的属性作为关键路径注册 CABasicAnimation *transformAnimation = [CABasicAnimation animationWithKeyPath:@"transfor...原创 2018-03-07 14:41:06 · 2401 阅读 · 0 评论 -
ios 在view中创建通知 移除通知
1.场景就是在一个控制器中的view中有一个状态(未录入),点击未录入就会跳到签名界面,签名完成后,会dismiss关闭,这时候就要修改view的状态(已录入),view是自定义的,所以我想通知是最方便的,初始化的时候我创建控制器,但是view关掉,却不走移除控制器的方法。搜索一番资料得到下面两个方法。//这个方法相当于vc中的viewDidLoad- (void)didMoveToWin...原创 2019-01-21 15:31:22 · 2246 阅读 · 2 评论