自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(124)
  • 资源 (2)
  • 收藏
  • 关注

原创 iOS灵动岛实践总结

Live Activity的实现需要使用Apple的ActivityKit框架。通过使用ActivityKit,开发者可以轻松地创建一个Live Activity,这是一个动态的、实时更新的活动,可以在用户的设备上显示各种信息。灵动岛常见的更新方式,通过push更新。

2023-11-20 14:19:37 203

原创 iOS 卡顿优化实践

优化卡顿,将APP的用户体验做到极致,在一定程度上能够提升用户的忠诚度和APP的市场占有率。

2022-11-02 19:21:21 187 1

原创 Xcode 14 pod 签名报错的解决方案

在使用Xcode 14进行pod install 后,库里有bundle资源文件则会在编译时报错,报error:“igning for “xxxxx” requires a development team. Select a development team in the Signing & Capabilities editor.”以上方案来源于:https://github.com/CocoaPods/CocoaPods/issues/11402。

2022-09-17 10:35:15 4562

原创 iOS系统设置粗体文本后UIButton的宽度错误

在iPhone设置->辅助功能->显示与文字大小里面打开“粗体文本”开关后,UIButton的sizeToFit宽度计算错误,出现text显示不完整的问题。打印button的宽度,正常模式和粗体文本模式宽度一直。解决方案:来源:https://developer.apple.com/forums/thread/125492Swift:button?.titleLabel?.lineBreakMode = .byClipping OCbutton.titleLabel.lineBre

2021-09-26 14:21:47 1297

原创 Flutter1.22.2版本在iOS 14下奔溃问题

BUG现象:flutter版本1.22.2 iOS14flutter和iOS混编的项目在xcode中直接run没任何问题,拔掉线后启动直接奔溃解决:在项目/.ios/Flutter/flutter_export_environment.sh 文件末尾添加 export "FLUTTER_BUILD_MODE=release"...

2021-03-23 10:54:30 260

原创 flutter跑真机报错

报错信息:报错信息:═══════════════════════════════════════════════════════════════════════════════════Error launching app. Try launching from within Xcode via: open ios/Runner.xcworkspaceYour Xcode version may be too old for your iOS version.═══════════

2020-10-31 11:09:12 1739

原创 iOS Pod私有库生成中BUG解决方法

在生成pod私有库时,报错如下: - ERROR | [iOS] unknown: Encountered an unknown error (/usr/bin/xcrun simctl list -j devicesxcrun: error: unable to find utility "simctl", not a developer tool or in PATH) during validation.解决方法:在xcode设置里面,把Command line Tools设置一下

2020-05-31 14:00:01 470

原创 iOS NSAttributedString因cell 复用产生的问题

问题描述:部分cell中的label需要设置富文本属性,部分不需要。在使用NSAttributedString后,复用的cell同样具有相同效果。错误使用举例: cell.lCost.text = "" cell.lCost.attributedText = nil if indexPath.row == 10 { let att = NSAttributedStrin...

2019-12-27 14:32:37 657 2

原创 iOS13关闭应用暗黑模式,适配暗黑模式

为了让APP无论是在浅色还是深色模式下,App的UI保持不变1、全局在info.plist里面加一个key:UIUserInterfaceStyle,把它的值设为Light2、单个页面不支持 if #available(iOS 13.0, *) { self.overrideUserInterfaceStyle = .light } else { //...

2019-11-21 11:09:06 5038 1

原创 swift之mutating关键字的使用

在Swift中,structure和enumeration是值类型(value type)class是引用类型(reference type)。默认情况下,实例方法中是不可以修改值类型的属性,使用mutating后可修改属性的值例如:在结构体中,有一个实例方法,如果直接修改属性的值,编译器会报错。可以使用mutating修饰struct Point { var x...

2019-02-12 17:02:09 6481

原创 图片压缩到制定大小

swift 4.2将图片压缩到制定的大小,使用二分法进行循环,让计算值接近目标值func compressQuality(_ maxLength:NSInteger,_ cyles:Int = 6) -> Data { var compression:CGFloat = 1 var data = self.jpegData(compressionQu...

2018-11-28 11:00:12 818

原创 cell中手指滑动停留后的Image优先显示

使用Kingfisher加载图片,在cell列表中,手指可快速滑动后,划过的内容可能是用户不感兴趣的内容,优先显示的方式:cell.imageView.kf.cancelDownloadTask()cell.imageView.kf.setImage(with: URL(string: dataSource[indexPath.row])) ...

2018-11-20 17:56:20 314

原创 iOS 12.1 tabbar从二级页面返回跳动问题的解决方法

OC:   [[UITabBar appearance] setTranslucent:NO];Swift:   tabBar.isTranslucent = false

2018-11-08 13:39:24 3502 1

原创 Swift UIView转Image/二维码生产

///View转Image static func getViewScreenshot(view: UIView) -> UIImage { UIGraphicsBeginImageContextWithOptions(view.bounds.size, false, UIScreen.main.scale) view.layer.render(in...

2018-11-07 14:33:33 1420

原创 iOS11以上系统使用scrollRectToVisible回到顶部失效的解决方法

回到列表顶部:tableView.scrollRectToVisible(CGRect(x: 0, y: 0, width: tableView.width, height: tableView.height), animated: false)在tableView上使用,有时会无效,无法回到顶部解决方法: if #available(iOS 11.0, *) { ...

2018-10-25 10:27:07 2373

原创 iOS 10.3 NSStrikethroughStyleAttributeName无效的解决方法

使用NSStrikethroughStyleAttributeName属性对label进行中间划线,但在iOS10.3上无效(iOS11没问题)。解决方法:var priceAttribute:[NSAttributedStringKey:Any] = [NSAttributedStringKey.strikethroughStyle:NSUnderlineStyle.styleThic...

2018-08-03 14:14:04 1428

原创 Swift 中map、flatMap、filter、reduce的介绍

1.map函数map方法获取一个闭包表达式作为其唯一参数。 数组中的每一个元素调用一次该闭包函数,并返回该元素所映射的值。简单说就是可以对数组中的元素格式进行转换,最后返回一个新的数组。//将Int数组转换为String数组//$0代表数组的元素let array = [1, 2, 3, 4, 5 , 6, 7]let result = array.map{  String($...

2018-07-25 18:59:40 399

原创 RxSwift的使用介绍和文档说明

详细文档:https://beeth0ven.github.io/RxSwift-Chinese-Documentation/案例文档(转载):https://www.jianshu.com/p/f61a5a988590

2018-07-25 18:43:29 1001

转载 fork过来的项目,更新上游代码的方法

转载,记录# 列出远程仓库 URL$ git remote -v# List the current remotes (列出当前远程仓库)# origin https://github.com/user/repo.git (fetch)# origin https://github.com/user/repo.git (push)# 添加上游仓库URL$ git remot...

2018-07-25 18:37:14 643

原创 Swift 4.0 UILabel显示html标签的高度计算

//富文本 let attrStr = try! NSMutableAttributedString( data: (answer.content.data(using: .unicode, allowLossyConversion: true)!), options:[.documentType: NSAttributedStrin...

2018-07-03 17:03:54 2574

原创 Swift定时器的几种实现方式

方式一:使用performSelector实现@objc func getCodeAction(sender:UIButton) { count = 60 self.performSelector(inBackground: #selector(timerThread), with: nil) //获取验证码 } @objc...

2018-06-06 15:09:54 5883

原创 Swift中weak与unowned的区别

在闭包里面为了解决循环引用问题,使用了 `[unowned self]`。如果回调在self已经被释放后再调用,会导致crash掉。解决:使用weak修饰。weak与unowned的区别:     unowned设置以后即使它原来引用的内容已经被释放了,它仍然会保持对被已经释放了的对象的一个 "无效的" 引用,它不能是 Optional 值,也不会被指向 nil 。如果你尝试调用这个引用的方法或者...

2018-06-06 14:16:22 3359

原创 Swift 4.0 网络状态检测

使用Alamofire中`NetworkReachabilityManager`实现class func currentNetReachability() { let manager = NetworkReachabilityManager() manager?.listener = { status in var statusStr: St...

2018-04-13 16:13:18 6081

原创 JS与原生OC/Swift相互调用总结

JS和OC/Swift相互调用,主要总结了JS和OC交互的三种方式:1.使用UIWebView,利用JavaScriptCore实现2.使用WKWebView,利用WKScriptMessageHandler实现3.使用第三方框架WebViewJavascriptBridge实现案例地址:https://github.com/xinyuly/JS_OC_SwiftJavaScriptCore在Sw...

2018-03-29 14:54:10 1315

原创 html页面手机适配方法

在head中添加<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"> viewport :用户网页的可视区域.width:控制viewport的大小,可以指定一个值,如600,或者特殊的值...

2018-03-29 11:10:37 40126

原创 swift 4.0中dispatch_async,dispatch_after的使用

Swift 2.xdispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { let image = self.loadImage() // 回到主线程更新UI dispatch_async(dispatch_get_main_queue()) { self....

2018-03-28 16:15:44 21123

转载 配置SSO白名单和配置URL Scheme汇总

在info.plist文件中填写需要的白名单<key>LSApplicationQueriesSchemes</key><array> <!-- 微信 URL Scheme 白名单--> <string>wechat</string> <string>weixin</stri

2018-03-23 14:26:09 1604

转载 iOS之ReactiveCocoa简介和使用

本文转载iOS之ReactiveCocoa简介和使用,感谢作者1.ReactiveCocoa简介ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾。2.ReactiveCocoa作用在我们iOS开发过程中,当某些事件响应的时候,需要处理某些业务逻辑,这些事件都用不同的方式来处理。...

2018-03-19 22:52:36 220

原创 单元测试断言汇总

XCTFail(format…) //生成一个失败的测试;XCTAssertNil(a1, format...) //为空判断,a1为空时通过,反之不通过;XCTAssertNotNil(a1, format…) //不为空判断,a1不为空时通过,反之不通过;XCTAssert(expression, format...) //当expression求值为TRUE时通过;XCTAsse...

2018-03-12 14:47:51 252

原创 iOS_报错"Collection NSArrayM was mutated while being enumerated"

在通讯录搜索时会不停的遍历数组源,获取匹配的用户信息用于展示,此时出现BUG。报错:崩溃并报错“Collection <__NSArrayM: 0x166105d0> was mutated while being enumerated”。原因1:数组遍历时修改了数组。解决方法:定义一个新数组,修改新数组原因2:不同的线程同时读取和修改了数组。解决方法: [userList enume...

2018-02-28 14:40:53 1407

转载 iOS 根据IP获取位置

- (NSString *)getWANIP { //通过淘宝提供的服务,定位WAN的IP NSURL *ipURL = [NSURL URLWithString:@"http://ip.taobao.com/service/getIpInfo.php?ip=myip"]; NSData *data = [NSData dataWithContentsOfURL:...

2018-01-15 15:57:29 2810

原创 关于“SLComposeViewController” in iOS 11

在项目中,因使用友盟/shareSDK分享到facebook需要在facebook里面申请,还需要拍视频等,步骤繁琐,因此使用SLComposeViewController实现了分享功能。但在iOS11上,使用SLComposeViewController分享到facebook,SLComposeViewControllerCompletionHandler总是返回SLComposeV

2018-01-04 13:56:37 2172

原创 PrefixHeader.pch添加头文件报错

在项目中新建PrefixHeader.pch后,添加头文件出错。解决方法是在添加头文件中加一下代码#ifdef __OBJC__ #import "XXXX.h"#endif这个宏定义的作用是保证只有OC文件可以调用pch里面的头文件,一些非OC语言不能调用,比如.cpp,.mm。 如果不加入,那么如果代码中带有.cpp,.mm文件,那么将报错。NSObjCRuntime.

2017-12-09 12:59:49 1525

原创 Xcode_ library not found for -lAFNetworking

错误现象:ld: library not found for -lAFNetworkingclang: error: linker command failed with exit code 1 (use -v to see invocation)解决: 将 ONLY_ACTIVE_ARCH设置为YES

2017-12-07 15:43:15 488

原创 iOS_子类集成父类的XIB样式

1.在子类的.m文件中添加以下代码即可- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:NSStringFromClass([self.superclass class]) bundle:nibBundleOrNil]

2017-12-06 11:32:02 824

原创 iOS11_适配总结

1.UITableView:默认开启Self-Sizing在iOS11下Headers, footers, and cells都默认开启Self-Sizing。如果目前项目中没有使用estimateRowHeight属性,在iOS11的环境下就要注意了,因为开启Self-Sizing之后,tableView是使用estimateRowHeight属性的,这样就会造成contentSize和conte

2017-11-27 15:52:38 619

原创 "...not found FileProvider for ..."解决方法

使用xcode9打包出来的项目,放到xcode8中去运行,就会报错。”Framework not found FileProvider for architecture x86_64”解决方法一:升级xcode8到xcode9 解决方法二:复制Xcode9的 FileProvider到Xcode8中

2017-11-24 12:54:10 4342

原创 "Lexical or preprocessor issue"解决方法

接手项目后,改变文件的位置,导致报错“Lexical or Preprocessor Issue ‘*.h’ file not found”。原因:头文件路径Header Path没有设置好。Xcode Header Path的设置 Header Search Paths是一定会去搜索的。而User Header Search Paths只有在Always Search User Paths为Yes

2017-11-24 12:45:23 19674

原创 iOS_Localizable.strings与Excel互相转换

在做多语言适配的时候,可能需要整理每种语言对应的值。使用excel给翻译人员,他们能方便简单的查看。记录使用的方法,方便下次查找,感谢作者的贡献。详细地址:https://github.com/CatchZeng/Localizable.strings2ExceliOS使用到的命令:1.切换到“python”目录下2.执行命令“python Localizable.py -f ../ios/ -t

2017-11-23 19:14:04 1849

原创 NSDecimalNumber使用

在开发中,遇到和货币价格计算相关的问题时,需要注意计算的精度。在使用float类型运算,会出现精度丢失问题。可使用NSDecimalNumber。NSDecimalNumber *a = [NSDecimalNumber decimalNumberWithString:@"93.891"];NSDecimalNumber *b = [NSDecimalNumber decimalNumberWit

2017-10-27 11:25:52 656

11.2 developerDiskImage 真机调试包

一共包含三个developerDiskImage,分别是11.2 15C107 15C5092b 15C5097c

2017-12-13

Developer disk image iOS 11.1 (15B5066e)

Xcode9 真机调试需要的 Developer disk image iOS 11.1

2017-11-06

空空如也

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

TA关注的人

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