自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 dyld: Library not loaded: @rpath/****.framework/***

错误:dyld: Library not loaded: @rpath/****.framework/**** Referenced from: /Users/***/Library/Developer/CoreSimulator/Devices/167421B8-6B78-4F72-A226-240737DB7961/data/Containers/Bundle/Application/EDEF2AEB-790F-4AB7-9D98-CD387DA67B30/****.app/**** Re

2020-06-01 18:32:20 48

原创 RN嵌入现有的app

1、cocopods的时候,配置$(inherited)2、配置 info.plist文件,3、在本地跑项目的时候,先开启服务器cd ****(RN目录)npm start4、跑release环境的时候,要先打包bundle在React Native项目的根目录下执行:react-native bundle --entry-file index.ios.js --platform ios --dev false --bundle-output ./ios/bundle.

2020-05-15 18:39:05 61

原创 Exception NSException * -[RCTCxxBridge devSettings]: unrecognized selector sent to instance 0x。。。

Exception NSException * "-[RCTCxxBridge devSettings]: unrecognized selector sent to instance 0x7fbe6a9bab40" 0x000060000169db00遇到这个问题的时候,查看下自己的三方配置:TARFGETS -> Build Settings -> 搜索 other link -> 在 other Linker Flags 后面双击,加一下配置:$(inhe...

2020-05-15 16:37:15 123

原创 iOS URL 正则

如果判断一个整体string是否是一个URL,可以直接用URL来创建一个实例,当然也可以用下面的正则判断: func checkURL(_ url: String) -> Bool { let pattern = "(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=...

2020-03-06 14:14:52 68

原创 ios .创建文件,文件夹,压缩文件

文件压缩使用的是GZIP swift版本:GZIP这个只提供了一个data的扩展,所以要自己创建文件,当然没有直接的三方工具方便,不过可行哦~class DataTrackingCache: NSObject { static let directory = "DataTracking" static let gzipDiretory = "DataTracki...

2020-02-26 12:53:55 115

转载 iOS 写入log日志,压缩上传

先把需求发一下:• 客户端以日志的形式,记录用户的基本信息、使用环境、使用行为等数据。1上报策略• 程序进入后台模式时,立即上传缓存的日志文件• 按照时间,以每小时的频率进行数据上报• 日志文件小于30KB时,不进行上报• 上报成功后,清除已上传成功的日志文件• 特殊上报策略——客户端启动触发的事件,实时上报这里只介绍怎么对文件进行操作。因为全局任...

2020-02-24 21:26:00 288

转载 iOS 打点上报、无痕埋点

最近研习了美团等大厂的一些埋点方案。还要感谢大神《xuhaoranLeo》的指点。(既然大神没空写博客、但我可以代劳哈)。本文的宗旨是尽量全面、精简、满足我能想到尽量多的埋点需求。主要通过以下这些方面来谈谈中埋点那些事:打点/上报的大概流程 日志记录类型 日志应该带有的数据 打点的具体方式 何时上报 具体实现(iOS)打点/上报的大概流程打点:当发生需要收集的行为/状...

2020-02-20 16:37:26 221

原创 iOS 从app中分享出小程序

1、小程序缩略图的图片比例是:5:42、需要小程序的原始ID: gh_xxxxxxxx 一定是gh开头的3、需要path:pack-xxxx/xxxxx/xxxxxx 类似这种4、使用微信分享方法,我这里用的是原生微信分享,没有使用第三方示例代码如下: static func shareToWechatSession(_ title: String, image:...

2020-02-20 12:22:27 250

原创 关于 Arabic(阿拉伯语)的一些适配

1、UIButton 同时添加图片和文字的时候,一般是图片在左,文字在右,稍微加些间距,就可以满足设计师们的要求;有些需求是文字在左,图片在右,这个时候其实我们也只需要把UIbutton的方向改变一下就可以了:UIView.userInterfaceLayoutDirection(for: .unspecified) = .rightToLeft在XIB中就是UIButton下面的关于的...

2020-01-13 14:52:36 268

原创 iOS SIGPIPE: Signal 13, Code 0 crash

公司用的sentry上有一个bug很奇怪,它融汇到了同一个crash日志上,crash的地方却出现在了各个页面,但有一个共同点:每次记录都有SIGPIPE: Signal 13, Code 0 字样 很感谢前辈们给踩的坑,成功解决这个问题:详细解决办法贴链接给大家:不让 SIGPIPE signal 太嚣张,在这里记录一下,主要有个注意的地方:signal(SI...

2019-12-24 18:49:56 128

原创 Expected date string to be ISO8601-formatted

我们定义一个 time 类型为 Date例如:struct SessionTime: Codable { let sessionStartTime: Date? let sessionEndTime: Date? let newSessionStartTime: Date? let newSessionEndTime: Date?}并且在解析的时候,...

2019-12-02 16:51:00 53

转载 iOS开发之iOS13 暗黑模式(Dark Mode)适配

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/shifang07/article/details/101307247导读:Material Design & iOS 13 黑暗模式总结探索暗黑模式苹果开发文档如何不进行系统切换样式的适配注意 1、同一工程...

2019-11-01 16:20:09 296

原创 iOS项目移除Carthage集成Cocopods

首先:删除Carthage: 在Finder中,从项目的根文件夹中删除这些文件和目录: CartfileCartfile.resolvedCarthage/ 2. 删除framework引用。3.然后:集成cocopods:见另一个文章:传送门...

2019-11-01 16:07:45 187

原创 来生一起走

Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2367Accepted Submission(s): 1186Problem Description妈妈你别哭泪光照亮不了我们的路让我们自己慢慢的走妈...

2019-11-01 16:03:54 433

原创 iOS 文件下载与查看

//生成一个downloadTask let config = URLSessionConfiguration.default let session = URLSession(configuration: config, delegate: self, delegateQueue: OperationQueue()) self.sessi...

2019-08-28 19:31:13 650

原创 iOS 长按弹框,菜单栏

重写UIView,UIButton,UIImageView等,实现长按各种控件弹出菜单栏class MenuView: UIView { override var canBecomeFirstResponder: Bool { return true } override func canPerformAction(_ action: Sel...

2019-08-28 19:16:56 620 1

原创 IOS 从相册里拿到照片的格式转换

iPhone手机有一些实况图,全景图等,如果直接去文件后缀,安卓或者web是不支持的,我们的需求就是把这些格式全部都转成任何的格式,JPEG就可以,简单的来写,就是如下代码:import MobileCoreServices public func getOriginalPhotoData(_ asset: PHAsset?, completion: @escaping (_ da...

2019-08-28 19:04:02 457

原创 iOS 10 系统CPU 100% 卡住,但是memory没有涨上去,iOS11及其以上没有问题

控制台并没有打印,卡住也没有crash我百思不解,用Instrument工具的leaks 和 Time Profiler 也没有检测出来最后用最笨的方法:注释法来一段代码一段代码的注释强引用的问题:weak 不仅仅是代理啊,block这种常见的,自己定义变量的时候也多考虑考虑!...

2019-08-28 18:46:22 161

转载 iOS判断当前设备旋转方向

UIDeviceOrientation 是机器硬件的当前旋转方向 这个你只能取值 不能设置UIInterfaceOrientation 是你程序界面的当前旋转方向 这个可以设置UIDeviceOrientation oriention = [UIDevice currentDevice].orientation;UIInterfaceOrientati...

2019-06-26 18:00:02 381

原创 iOS 判断屏幕方向锁定是否开启

网上找了很多,都不是自己想要的 func isProtraitLockOn() -> Bool { let app = UIApplication.shared var foregroundView: UIView? var cls: UIView.Type? let statusBar: UIView? = app...

2019-06-26 16:22:50 692 1

原创 解决点击按钮使屏幕横屏,iPad无效

我们的APP是支持屏幕旋转的,当然,支持屏幕旋转,只需要如下勾选就可以了:所以,当用户锁定屏幕方向的时候,我们的APP也是会随之锁定方向但是,我们有些页面,是无论用户是否锁定屏幕,都可以支持横屏的,代码如下:func didClickFullScreenButton(_ sender: UIButton) { sender.isSelected = !sender...

2019-06-20 16:33:55 306

原创 IOS UIViewController 在popView 8秒之后才走dealloc/deinit

今天在测试页面释放的时候,发现每次都是过了几秒之后才走deinit,然后就逐步的查找问题,既然走了deinit方法,就不会是强引用导致的,通过代码注释的方法(好low),才想起来,我这个页面是需要8秒之后就要隐藏掉页面的所有View,点击才显示出来,所以我写了个方法:perform(#selector(hideView), with: nil, afterDelay: 8)问题就是这个d...

2019-05-24 11:17:13 278

原创 获取当前页面的path

模块化开发相信大家早已经有所接触,或看过文章,或自己搭建了一个项目测试,或公司正在使用,网上关于模块化,组件化的文章也颇多,我便不再多述,写此篇的目的,是为了记录自己的问题:MGJRouter 提供了注册和打开某个页面的方法MGJRouter.registerURLPattern(buildPath(path: routable.path), toHandler: { (param...

2019-04-20 11:57:16 353

原创 纯代码实现 presentAsPopView

在iOS中,segue的class为UIStoryboardSegue,用于storyboard中不同视图控制器间转场,即从一个视图控制器转场到另一个视图控制器。Segue的起点必须是一个view或者定义某些操作的对象,如:UIBarButtonItem、UIControl和UIGestureRecognizer。Segue分为以下几种类型,其中Push、Modal、Popover和Repla...

2019-03-29 11:17:17 66

翻译 给UItextView设置placeHolderLabel

let ideaTextView = UITextView() let placeHolderLabel = UILabel() placeHolderLabel.text = "写下你的问题或建议,我们将及时跟进解决(建议上传截图帮助我们解决问题,感谢!)" placeHolderLabel.numberOfLines = 0 ...

2019-03-27 19:33:52 467

原创 'substring(to:)' is deprecated: Please use String slicing subscript with a 'partial range upto'

swift3消除警告'substring(to:)' is deprecated: Please use String slicing subscript with a 'partial range upto'Swift3废除了subString(from\to\with:)字符串截取方法。而截取方法改成了:let newStr = String(str[..<index])...

2019-03-27 16:22:50 884

原创 升级 cocopods

sudo gem install cocoapods --pre网上找的都不对,烦人升级后,查看cocopods版本pod --version现在的是 1.6.0.beta.2cocopods安装:https://guides.cocoapods.org/using/getting-started.html#getting-started...

2019-01-21 11:17:24 351

原创 Error Domain=ShareSDKErrorDomain Code=203 "(null)" UserInfo={error_message=无效的授权回调:[http://localhost

错误为:Error Domain=ShareSDKErrorDomain Code=203 "(null)" UserInfo={error_message=无效的授权回调:[http://localhost/?state=1544773872373&code=4/swCieT7cxhZ5nb0HKb0re20Oqne2oRUsXhW46WPNzznuYXdx-zHjeAUARHnjRmd...

2018-12-26 18:11:08 1638

原创 iOS Error at CVOpenGLESTextureCacheCreate -6661

一直用OpenGLES都没有问题的,用的是kEAGLRenderingAPIOpenGLES3,但是最近在海外市场出现了很久不见的iPhone 5,Iphone4,iPhone 5C的机型,用户反馈一直黑屏,然后经过调试发现,这三种机型在kEAGLRenderingAPIOpenGLES3这个版本下已经不被支持:self.context = [[EAGLContext alloc] init...

2018-12-26 17:40:39 358 4

原创 iOS 极光推送开发环境可以收到,生产环境收不到推送

感觉这次的爬坑,很有必要记录一下,网上找了很多资料,确实有很多有用的,但是都不全,可能是我没有找到全的,最近太忙就简单记录下需要注意的点吧:1、后台要设置对setOptions(Options.newBuilder().setApnsProduction(ture);2、0为测试环境,1为生产环境[JPUSHService setupWithOption:launchOptions appKey:...

2018-03-02 17:37:37 1603

原创 CollectionView Header的使用

collectionView的使用和tableView类似,遵守数据源和代理方法是必要的,而不太常用的是 CollectionView Header,如果你想给每一组section设置不同的cell也是也可行的遵守下面的代理方法:- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView vie

2017-12-25 18:18:45 3425

原创 iOS 错误锦集

从今天开始,我打算把自己所有遇到的错误,无论大大小小,都保存下来,以供自己反思,少点粗心才能提高效率1、This application is modifying the autolayout engine from a background thread after the engine was accessed from the main thread. This can lead to en

2017-12-21 11:16:14 2517

原创 UILable不同版中的lineBreakMode

label.lineBreakMode = NSLineBreakByCharWrapping;以字符为显示单位显示,后面部分省略不显示。label.lineBreakMode = NSLineBreakByClipping;剪切与文本宽度相同的内容长度,后半部分被删除。label.lineBreakMode = NSLineBreakByTruncatingHead;前面部分文字以……方

2017-12-15 17:47:39 137

原创 GCD 定时器

2017-12-12 19:54:49 189

原创 将本地项目上传到gitlab下

1、首先,第一次使用gitlab,要生成 ssh keys大体分为如下步骤:a、进入.ssh目录$ cd ~/.ssh#如果.ssh文件夹不存在,可以执行指令并自行创建$ mkdir ~/.sshb、查看当前目录文件$ lsSSH key 可以让你在你的电脑和 Git @ OSC 之间建立安全的加密连接。c、生成sshkey

2017-11-06 20:46:10 1073

原创 '-[__NSArrayM enqueue:]: unrecognized selector sent to instance 0x60000024ef40'

使用ShareSDK的时候,点三方登录崩溃,报错信息为:Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM enqueue:]: unrecognized selector sent to instance 0x60000024ef40'

2017-05-19 14:32:00 3886

原创 iOS UIView的方法及执行顺序

继承UIView的类,根据你需要执行的动作,有以下几个方法可以执行,你可以根据你方法的用途进行选择,方法如下://- UIView的指定初始化方法; 总是发送给UIView去初始化, 除非是从一个nib文件中加载的;-(id)initWithFrame:(CGRect)frame //- 从nib文件中加载的时候发送此消息给UIView;-(id)initWit

2016-11-29 13:20:06 2650

原创 Carthage 包管理工具

说起 iOS 开发的包管理,大家就不由得会想起 CocoaPods, 它确实是一个强大的工具。但这次咱们来关注另外一个包管理工具 Carthage,如果说 CocoaPods 像一个航母,一应俱全,坚实稳固。那么 Carthage 就像一艘巡洋舰,机动灵活,攻击迅速。Carthage 和 CoaoaPods 的区别CoaoaPods 是一套整体解决方案,我们在 Podfile中指定好我们需

2016-10-14 17:48:12 752

原创 iOS10新特性

WWDC2016之后,苹果4大平台系统的展示中发生了很多的变化,当然重点还是在我们伟大的iOS上,通过试用iOS 10 beta版,除了强大的siri,最为直接的能感受到的是iMessage,除了一般的文字,图片,表情,语音外还支持动画特效,动态涂鸦等!       通过WWDC2016和官方文档What’s New in iOS10,我们一起看看iOS10给开发者带来了些什么样的变化

2016-10-10 16:07:46 303

原创 Xcode8 10大新特性

1.Xcode8 欢迎界面        欢迎界面扁平化网格去掉,是不是好看很多了?2.创建工程更加人性化        常用的放在最前面1.内置表情包(Sticker Packs)可以通过在Xcode中新建Sticker Pack Application来创建。这种方式可以简单地通过添加图片来在iMessage中添加表情包。添加的贴纸需要满足一

2016-10-10 15:52:01 2803

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