自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 收藏
  • 关注

原创 iOS16适配

苹果在9月13号凌晨(北京时间)发布 iOS 16,该系统的设备可能会因为各种原因,导致功能不可用和UI错乱等问题,我们需要做好适配iOS 16。

2022-09-23 14:26:05 5424 1

原创 scrollView 在改变控制器导航栏是否透明时,scrollView下移

1、进入控制器,在viewWillAppear方法里设置导航栏透明,为了是scrollView不偏移,设置了:scrollView.contentInsetAdjustmentBehavior = .never但是我的业务场景还有,当页面往下滑动的时候,恢复导航栏不透明效果,此时,scrollView又发生了下移解决方法:extendedLayoutIncludesOpaqueBars = true...

2022-05-29 18:24:11 225

原创 CDN: trunk Repo update failed - 13 error(s)

在执行完 pod install --repo-update 后,得到一下错误:[!] CDN: trunk Repo update failed - 13 error(s):CDN: trunk URL couldn't be downloaded: https://cdn.jsdelivr.net/cocoa/Specs/1/9/6/PayPalCommerce/2.0.0-beta/PayPalCommerce.podspec.json Response: Couldn't connect t

2022-04-14 12:08:07 2962 2

原创 iOS镂空效果

直接再View上做镂空效果,代码 如下:extension UIView {// 不带圆角,方形func mask(maskRect: CGRect, invert: Bool = false) { let maskLayer = CAShapeLayer() let path = CGMutablePath() if (invert) { path.addRect(self.bounds) }...

2022-03-25 15:45:19 775

原创 writetoFile failure

write ToFile1、存入的是基本类型,例如:NSNumber (NSInteger, Float, Double), NSString, NSArray, NSDictionary, Bool, NSDate。。。。等2、写入的数据不能为自定义类型或者NUll,不过自定义类型可以通过归档讲数据转化为NSDate类型根据以上第二条,通过抓包,我们存入的数据包含,null,所以一直 存入失败,可以直接把类型转为 string,防止出错//数组转json func getJSONStrin

2022-02-16 17:41:52 1669

原创 UIScrollView 页面上滑到屏幕内触发事件

View是否在屏幕内,View出现在屏幕内

2021-12-13 17:57:40 310

原创 给UItextView设置placeHolderLabel

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

2021-12-13 15:40:36 238

转载 React Native app for iOS.

https://reactnative.dev/docs/environment-setupNode & WatchmanWe recommend installing Node and Watchman usingHomebrew. Run the following commands in a Terminal after installing Homebrew:...

2021-12-13 15:19:58 331

原创 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 862

原创 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 331

原创 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 1053

原创 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 781

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

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

2020-02-26 12:53:55 616

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

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

2020-02-24 21:26:00 1272

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

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

2020-02-20 16:37:26 1757

原创 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 1126

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

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

2020-01-13 14:52:36 1297

原创 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 863

原创 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 546

转载 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 1992

原创 iOS项目移除Carthage集成Cocopods

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

2019-11-01 16:07:45 734

原创 来生一起走

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 528

原创 iOS 文件下载与查看

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

2019-08-28 19:31:13 1669

原创 iOS 长按弹框,菜单栏

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

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

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

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

2019-08-28 19:04:02 1365

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

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

2019-08-28 18:46:22 441

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

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

2019-06-26 18:00:02 1019

原创 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 2078 1

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

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

2019-06-20 16:33:55 868

原创 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 727

原创 获取当前页面的path

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

2019-04-20 11:57:16 1173

原创 纯代码实现 presentAsPopView

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

2019-03-29 11:17:17 347

翻译 给UItextView设置placeHolderLabel

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

2019-03-27 19:33:52 853

原创 '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 3296

原创 升级 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 539

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

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

2018-12-26 18:11:08 3447

原创 iOS Error at CVOpenGLESTextureCacheCreate -6661

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

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

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

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

2018-03-02 17:37:37 2210

原创 CollectionView Header的使用

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

2017-12-25 18:18:45 4473

原创 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 4531

空空如也

空空如也

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

TA关注的人

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