- 博客(124)
- 资源 (2)
- 收藏
- 关注
原创 iOS灵动岛实践总结
Live Activity的实现需要使用Apple的ActivityKit框架。通过使用ActivityKit,开发者可以轻松地创建一个Live Activity,这是一个动态的、实时更新的活动,可以在用户的设备上显示各种信息。灵动岛常见的更新方式,通过push更新。
2023-11-20 14:19:37 324
原创 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 5008
原创 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 1539
原创 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 280
原创 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 1924
原创 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 503
原创 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 727 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 5115 1
原创 swift之mutating关键字的使用
在Swift中,structure和enumeration是值类型(value type)class是引用类型(reference type)。默认情况下,实例方法中是不可以修改值类型的属性,使用mutating后可修改属性的值例如:在结构体中,有一个实例方法,如果直接修改属性的值,编译器会报错。可以使用mutating修饰struct Point { var x...
2019-02-12 17:02:09 6582
原创 图片压缩到制定大小
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 858
原创 cell中手指滑动停留后的Image优先显示
使用Kingfisher加载图片,在cell列表中,手指可快速滑动后,划过的内容可能是用户不感兴趣的内容,优先显示的方式:cell.imageView.kf.cancelDownloadTask()cell.imageView.kf.setImage(with: URL(string: dataSource[indexPath.row])) ...
2018-11-20 17:56:20 320
原创 iOS 12.1 tabbar从二级页面返回跳动问题的解决方法
OC: [[UITabBar appearance] setTranslucent:NO];Swift: tabBar.isTranslucent = false
2018-11-08 13:39:24 3548 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 1501
原创 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 2411
原创 iOS 10.3 NSStrikethroughStyleAttributeName无效的解决方法
使用NSStrikethroughStyleAttributeName属性对label进行中间划线,但在iOS10.3上无效(iOS11没问题)。解决方法:var priceAttribute:[NSAttributedStringKey:Any] = [NSAttributedStringKey.strikethroughStyle:NSUnderlineStyle.styleThic...
2018-08-03 14:14:04 1473
原创 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 428
原创 RxSwift的使用介绍和文档说明
详细文档:https://beeth0ven.github.io/RxSwift-Chinese-Documentation/案例文档(转载):https://www.jianshu.com/p/f61a5a988590
2018-07-25 18:43:29 1032
转载 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 666
原创 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 2600
原创 Swift定时器的几种实现方式
方式一:使用performSelector实现@objc func getCodeAction(sender:UIButton) { count = 60 self.performSelector(inBackground: #selector(timerThread), with: nil) //获取验证码 } @objc...
2018-06-06 15:09:54 5964
原创 Swift中weak与unowned的区别
在闭包里面为了解决循环引用问题,使用了 `[unowned self]`。如果回调在self已经被释放后再调用,会导致crash掉。解决:使用weak修饰。weak与unowned的区别: unowned设置以后即使它原来引用的内容已经被释放了,它仍然会保持对被已经释放了的对象的一个 "无效的" 引用,它不能是 Optional 值,也不会被指向 nil 。如果你尝试调用这个引用的方法或者...
2018-06-06 14:16:22 3408
原创 Swift 4.0 网络状态检测
使用Alamofire中`NetworkReachabilityManager`实现class func currentNetReachability() { let manager = NetworkReachabilityManager() manager?.listener = { status in var statusStr: St...
2018-04-13 16:13:18 6148
原创 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 1367
原创 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 40342
原创 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 21239
转载 配置SSO白名单和配置URL Scheme汇总
在info.plist文件中填写需要的白名单<key>LSApplicationQueriesSchemes</key><array> <!-- 微信 URL Scheme 白名单--> <string>wechat</string> <string>weixin</stri
2018-03-23 14:26:09 1634
转载 iOS之ReactiveCocoa简介和使用
本文转载iOS之ReactiveCocoa简介和使用,感谢作者1.ReactiveCocoa简介ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾。2.ReactiveCocoa作用在我们iOS开发过程中,当某些事件响应的时候,需要处理某些业务逻辑,这些事件都用不同的方式来处理。...
2018-03-19 22:52:36 253
原创 单元测试断言汇总
XCTFail(format…) //生成一个失败的测试;XCTAssertNil(a1, format...) //为空判断,a1为空时通过,反之不通过;XCTAssertNotNil(a1, format…) //不为空判断,a1不为空时通过,反之不通过;XCTAssert(expression, format...) //当expression求值为TRUE时通过;XCTAsse...
2018-03-12 14:47:51 289
原创 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 1581
转载 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 2874
原创 关于“SLComposeViewController” in iOS 11
在项目中,因使用友盟/shareSDK分享到facebook需要在facebook里面申请,还需要拍视频等,步骤繁琐,因此使用SLComposeViewController实现了分享功能。但在iOS11上,使用SLComposeViewController分享到facebook,SLComposeViewControllerCompletionHandler总是返回SLComposeV
2018-01-04 13:56:37 2227
原创 PrefixHeader.pch添加头文件报错
在项目中新建PrefixHeader.pch后,添加头文件出错。解决方法是在添加头文件中加一下代码#ifdef __OBJC__ #import "XXXX.h"#endif这个宏定义的作用是保证只有OC文件可以调用pch里面的头文件,一些非OC语言不能调用,比如.cpp,.mm。 如果不加入,那么如果代码中带有.cpp,.mm文件,那么将报错。NSObjCRuntime.
2017-12-09 12:59:49 1562
原创 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 597
原创 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 856
原创 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 662
原创 "...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 4357
原创 "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 19926
原创 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 1892
原创 NSDecimalNumber使用
在开发中,遇到和货币价格计算相关的问题时,需要注意计算的精度。在使用float类型运算,会出现精度丢失问题。可使用NSDecimalNumber。NSDecimalNumber *a = [NSDecimalNumber decimalNumberWithString:@"93.891"];NSDecimalNumber *b = [NSDecimalNumber decimalNumberWit
2017-10-27 11:25:52 692
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人