自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SwiftUI实战之Page左右分页滑动

SwiftUI实战之Page左右分页滑动视图

2024-09-18 17:57:05 297

原创 swiftUI结构体数组修改属性UI没更新

SwiftUI无法检测到具体的更改操作

2024-09-13 15:13:44 569

原创 Xcode报错:No exact matches in reference to static method ‘buildExpression‘

Xcode编译报错:Type '()' cannot conform to 'View',No exact matches in reference to static method 'buildExpression'

2024-09-12 18:24:12 554

原创 SwiftUI中ScrollView内部的HStack如何居中显示?

这样就达到了效果,HStack中3个Text水平居中、垂直也居中,那有人可能会问,为什么HStack外层要套个ScrollView,因为我们要做的是多标签横向tab列表,需要能滑动,如果HStack内部的Text很多的时候,要能左右滑动。最后的解决办法是:利用GeometryReader获取屏幕宽度,将HStack的最小宽度调整为父视图的宽度,也就是Scollview的宽度,也就是屏幕的宽度。如果在HStack的最左和最右别添加两个空白空间填充,也达不到效果。

2024-09-12 15:06:37 302

原创 Xcode报错:Return from initializer without initializing all stored properties

我们自定义 init 方法,在 init 中直接赋值 @Binding 会失败,但是直接赋值给Binding类型的变量却正常,说明@Binding并不等同于Binding,使用Binding时要调用wrappedValue,有点麻烦,但是使用@Binding时init初始化方法又报错,怎么解决?),而且参数类型要改成Binding修饰。因此我们在赋值的时候直接赋值给真实的存储变量就可以了。属性包装器默认生成的真实变量名是在名称前加下划线(

2024-09-10 17:13:19 387

原创 class _ContiguousArrayStorage deallocated with non-zero retain count

用队列来做, DispatchQueue,为什么用它?数组的读写操作我们可以看作是一个个事件,这些事件如果放到队列里面,就可以利用队列的同步和异步来达到互斥访问数组的目标,那么问题来了,是使用串行队列还是并行队列呢?串行队列就是指事件按照放入到队列的先后顺序来先后执行,先放进去的事件先执行,后放进去的事件后执行。分析报错原因:Swift中多线程并发读写同一个数组是不安全的,没有进行同步,造成数组的不安全操作,进而引起crash.

2024-09-05 18:35:58 218

原创 iOS多target时怎么对InfoPlist进行国际化

iOS国际化InfoPlist

2024-07-05 09:46:52 649

原创 framework ‘CoreAudioTypes‘ not found

Xcode15编译报错:framework 'CoreAudioTypes' not found

2024-05-15 10:42:42 1615

原创 Xcode报错:This app needs to be updated by the developer to work on this version of iOS

Simulator device returned an error for the requested operation.This app needs to be updated by the developer to work on this version of iOS. Failed to find matching arch for input file: /Users/hand5/Library/Developer/CoreSimulator/Devices/9C8AD1B6-50BE-4F3

2024-03-27 15:00:47 383

原创 SwiftUI去掉List样式为GroupStyle顶部的空白

SwiftUI去掉List去掉顶部的空白

2023-12-06 15:16:11 422

原创 SwiftUI - 界面布局知识点

SwiftUI

2023-11-14 18:03:02 2096

原创 SwiftUI中的@State、@StateObject、@Binding、@ObservedObject、@Environment、@EnvironmentObject等属性包装器的作用和用法

ObservedObject只是作为View的数据依赖,不被View持有,View更新时ObservedObject对象可能会被销毁,适合数据在SwiftUI外部存储,把@ObservedObject包裹的数据作为视图的依赖,比如数据库中存储的数据,当SwiftUI视图“更新”时,实际发生的是创建并显示视图的新示例。当环境变量的值发生变化时,相关的视图会自动更新。示例:在下面的示例中,我们创建一个 UserData 类,使用 @ObservedObject标记属性,在视图中观察和使用该对象的属性。

2023-09-11 17:58:01 1927 1

原创 iOS如何获取设备型号的最新方法总结

通常的做法是,先获取设备的 device model 值,再手动映射为具体的设备型号(或者直接把 device model 值传给后端,让后端去做映射,这样的好处是可以随时兼容新设备)。我们可以先获取 device model 值,记为 internalName ,然后进行对比判断,转换成具体的设备型号。每一种 iOS 设备型号都有对应的一个或多个硬件编码/标识符,称为 device model 或者叫 machine name。

2023-08-29 10:25:15 4058 1

原创 问题:UITableViewCellContentView:height == 44 约束冲突

使用Masonry自动布局,高度自定义,出现如标题所示约束冲突。

2023-08-25 14:29:27 662

转载 iOS 网络视频监控总结

iOS视频编解码

2023-07-07 15:02:13 223

原创 iOS极光推送Xcode直接编译运行App能收到极光推送,通过ad-hoc打包ipa安装到手机上收不到推送

2, 通过ad-hoc和AppStore上架这两种方式下载的ipa包安装到手机上,对应的app是生产环境,那这时Java后台APNS这个参数也需要配置为ture,app才能收到推送通知;1,通过Xcode直连编译运行的App肯定是开发环境,这时候不管你是通过手动签名还是自动签名,Java后台APNS这个参数也需要配置为false,app才能收到推送通知;

2023-04-26 17:04:50 453

原创 iOS蓝牙数据解析、大小端转换、位运算

现在我们要截取最左边的0aa6这两个字节(16位),这个数据是UInt16类型,那么首先要做的就是运用上面封装好了的大小端转换方法来截取这两个字节,下面代码中的result就是所需要的数据。* 需求:result的二进制是0000 1010 1010 0110,一个16位的数字,假如与硬件工程师提前说好了,低4位(0110)代表组数,5-8位(1010)代表每组的人数。* 需要注意的是,当仅仅是解析1位数据的时候,就不需要使用像CFSwapInt16BigToHost这样的方法了,具体可以查阅代码。

2023-03-27 11:30:28 1856

原创 常用的RTMP、RTSP、HTTP协议流直播流地址

苹果点播计数器:http://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/gear2/prog_index.m3u8。西瓜播放器:http://sf1-hscdn-tos.pstatp.com/obj/media-fe/xgplayer_doc_video/flv/xgplayer-demo-360p.flv。动画片:https://media.w3.org/2010/05/sintel/trailer.mp4。

2023-03-23 11:27:31 10882 6

原创 iOS页面卡顿优化

AsyncDisplayKit使用

2023-03-01 10:29:31 490

转载 Git学习大全

Git学习大全

2023-02-07 16:48:50 112

转载 iOS RTMP推流+音视频编解码

iOS RTMP推流

2023-02-06 11:42:08 243

原创 iOS热更新方案(过AppStore审核)

iOS热更新

2022-12-13 15:55:00 5269

原创 iOS运行时Runtime在OC中的应用场景

iOS运行时Runtime应用场景

2022-12-09 17:55:52 2034

转载 iOS修改ipa并重新签名打包

iOS修改ipa并重新签名打包

2022-11-25 10:16:58 383

原创 UIStackView嵌套的Label多行文字动态高度

UIStackView嵌套UILabel文字动态高度

2022-07-20 18:39:48 950

原创 RxSwift技术

RxSwift是响应式编程框架,通过异步和数据流来构建事务关系,核心体现就是观察和被观察者https://blog.csdn.net/qq_14920635/article/details/114981760

2022-05-24 16:30:07 143

原创 iOS自动打包上传至蒲公英

参考文章:fastlane自动打包上传到蒲公英 - 简书打包报错时可以查看log日志:sudo find /private/var -name "*.xcdistributionlogs"

2022-05-17 16:58:12 346

原创 Invalid Provisioning Profile

Xcode自动签名时如果更新过期证书

2022-04-14 10:58:20 2906

原创 CUICatalog: Invalid asset name supplied: ‘‘

项目运行过程中一直在打印一个log:CUICatalog: Invalid asset name supplied: '',产生这个log的原因是[UIImage imageNamed:@""]传了一个空字符串来获取图片,如果全局搜索要花不少时间才能查到,后面找到一个比较好的方式,通过象征性断点Symbolic breakpoint可以快速定位错误代码位置,按如果步骤进行:第一步:增加Symbolic breakpoint断点第二步:Symbol后面输入“[UIImage imageNamed:

2022-03-04 16:04:28 706

原创 UILabel文字缩进

重构前需要考虑以下几个方面:第一点:全面的了解系统的过去,包括以前的架构/技术背景、业务需求第二点:查看至少80%的核心代码,最好有一定时间的真实在以前代码基础上编码的经历第三点:分析以前架构的问题,例如:可维护性低、在哪个方面已经不满足现有需求等等有了上面几点后还需要搞一个有效地重构计划,保证重构有条不紊的进行,才不会出现重构没有动力或者无法推动,或者与其他的业务需求冲突。...

2021-11-11 14:57:12 450

原创 iOS百度人脸识别打包上传AppStore报错

遇到这种问题,解决方式如下:(1) 删除com.baidu.idl.face.faceSDK.bundle中的文件 A:com.baidu.idl.face.faceSDK B:Info.plist 如下图所示(2)删除com.baidu.idl.face.live.action.image.bundle中的 文件A:com.baidu.idl.face.live.action.image 文件B:Info.plist 如下图所示:(3)删除com.baidu.idl.face.mode...

2021-10-21 14:09:58 1308

原创 Mac磁盘合并成融合硬盘

1,开机后立马按住Command+R+Option键;2,等待两三分钟后,选择Wifi网络,输入Wifi密码,然后连接网络,如果电脑已经连接了有线网络,则跳过此步骤;3,在强出的菜单列表上选择“磁盘工具”;4,在新的菜单页面上点左上角的“显示所有设备”;5,可以看到在“内置”下面显示了两个磁盘所在的上级菜单;6,选中SSD(sata磁盘)的上级菜单,然后点“抹盘”;7,选中HDD(闪存)的上级菜单,然后点“抹盘”;8,抹完之两个磁盘之后,关机;9,重新开机,同样按住Comma

2021-07-23 15:17:24 15431 2

原创 Swift5.1基本学习

https://www.jianshu.com/p/eb07b6fecdbb

2021-06-25 15:41:17 172

原创 SDWebImage加载多张图片时内存暴增

最近项目中遇到一个问题在tableview上展示多张图片,在加载的过程中,图片过多时,加载几张图片就崩溃了。内存溢出 为什么会出现这种情况这个原因其实很明显,SDWebImage产生的图片缓存过多,造成APP内存溢出,崩溃了。有三个解决办法:方法一: 然后更改图片的大小,在tableview中展示缩略图,点击查看的时候显示原图。减少由于加载原图而占用过多的内存。...

2021-05-08 17:22:53 1932

原创 ios image drawInRect内存暴增

在UIImage处理中,时常会使用到drawInRect方法,但是缺点是内存占用过大,且造成内存泄漏无法回收。这一点是因为对象持有,导致不能及时释放的原因。多调用几次这个方法,内存就暴增。所以,目前我采用的方式是,将UIImage对象本地缓存成图片,然后正常释放对象UIGraphicsEndImageContext();接着传递出去缓存UIImage的路径进行读取。这样内存释放问题就处理了,多次调用这个方法也不会出现内存无法回收的问题。尽管网络上查找问题的答案,autoRelease释放池也无法处

2021-04-20 14:30:00 1239 4

原创 iOS开发者账号最新续费流程

续费流程:第一步:在iOS设备上验证账号和身份,开启双重认证,打开系统设置-->Apple ID ,iCloud, 媒体-->填写要续费的iOS开发者账号密码-->密码与安全性-->双重认证-->看下是否已开启,没开启就要开启一下第二步:续费根据iOS开发者账号的创建时间来确定:2019.12之前开通的开发者账号是通过网页端来续费的,所以目前继续沿用网页端续费流程,2019.12之后的开发者账号先在设置-->Apple ID-->订阅--&.

2021-04-07 14:08:58 4923 1

原创 iOS Model转JsonString,Model属性中着有Model Array,Model Array中又嵌套着自定义Model

利用MJExtension框架将Model转化为JsonString时第一步:将Model转化为JsonObject,也就是字典,必须是系统自带的类NSString、NSNumber、NSDictionary、NSArray、NSNull的对象,转化之后不能包含任何的自定义model,否则会报错;crash在NSData *jsonData = [NSJSONSerialization dataWithJSONObject:array options:NSJSONWritingPrettyPrin

2021-02-22 10:59:57 2794

原创 Xcode打开后Target 出现AppIcon不显示

打开Xcode发现AppIcon居然不显示,显示是Xcode默认图标:如下图所示的情况:但是看了下Target所对应的App Icons and lanuch Images里面已经设置好了要加载的Icon经过仔细排查发现原来是Targets->Build Phases->Copy Bundle Resources里面没有添加Assets.xcassets文件夹解决办法:1,在Targets->Build Phases->Copy Bundle Reso

2021-01-07 16:17:33 1943

原创 IOS添加新设备后Xcode如何自动更新iOSTeam Provisioning Profile?

1.首先去苹果开发者官网,添加iOS设备的UDID,UDID可以通过蒲公英浏览器工具箱获取;2.来到Xcode,Xcode11以前依次选择Target --> General --> Signing -->Provisioning Profile Xcode Managed Profile,Xcode11以后依次选择Target --> Signing & Capablities-->All-->Provisioning Profile Xcode Ma...

2020-10-26 15:14:47 2332

原创 iOS极光推送到开发环境,但无法推送到生产环境

在测试iOS Development环境下可以收到极光推送,而在iOS AdHoc环境下收不到极光推送。经查证,需要如下配置:一、App端(iOS)在AppDelegate.m的initJPush方法中[JPUSHService setupWithOption:launchOptions appKey:JPushAppKey channel:@"App Store" apsForProduction:isProduction];/* isProduction在生产环境时要设为:YES, 而在开发环.

2020-09-22 11:36:41 1170 4

空空如也

空空如也

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

TA关注的人

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