iOS集
文章平均质量分 74
网罗开发
全网 10万+ 粉丝, 欢迎您的关注与支持。交流合作私信+
展开
-
如何以编程方式解析 XCResult 包的内容
XCResult 包是一个包含运行一组测试结果详细信息的包或目录。这些包由 Xcode(或命令行中的 xcodebuild)生成,并提供了有关所运行测试的丰富信息,包括测试的名称、持续时间、状态以及它们生成的任何附件(如截图或日志)。原创 2024-08-11 23:04:52 · 1321 阅读 · 0 评论 -
SwiftUI 在 WWDC 24 之后的新变化
WWDC 24 已经到来,我们有很多内容要讨论。每年,SwiftUI 都会通过引入更多功能来赶上 UIKit。今年也不例外。让我们深入了解 SwiftUI 框架引入的新功能。我首先要提到的主要变化是 App、Scene 和 View 协议的@MainActor隔离。这可能会破坏你的代码,所以请记住这一点。在 WWDC 24 上,SwiftUI 再次通过引入更多新功能来提升其成熟度,以赶上 UIKit。原创 2024-07-20 23:02:57 · 1189 阅读 · 0 评论 -
如何在 SwiftUI 中创建悬浮操作按钮
悬浮操作按钮(Floating Action Button, FAB)是一种在 Android 和 Material Design 中使用的 UI 元素。它用于触发特定屏幕的主要操作。尽管它来自 Android,但在一些 iOS 应用中也可以看到这种模式。以下是 Twitter 应用中悬浮操作按钮的示例。Twitter App 在最重要的操作步骤,发布推文时使用悬浮操作按钮。如下图,在右下角有一个蓝底中间有加号的按钮。下面我们就来详细介绍一下还如何实现这个悬浮按钮需求。原创 2023-10-26 11:06:56 · 1131 阅读 · 82 评论 -
iOS16 中的 3 种新字体宽度样式
在 iOS 16 中,Apple 引入了三种新的宽度样式字体到 SF 字体库。原创 2022-11-22 17:34:34 · 1687 阅读 · 2 评论 -
实现模块化应用的本地化
我已经有一段时间没有从头开始一个需要支持多种语言的新项目了。当然不是从头开始,而是在代码库中通过使用 Swift 包将代码分成不同模块。我想提醒自己记住许多在本地化实行中的过程,所以我认为最好写一篇文章,以便下次开始同类型项目时可以参考。原创 2022-10-14 11:55:36 · 1241 阅读 · 0 评论 -
第三方库并不是必须的
我在Lyft的八年间,很多产品经理以及工程师经常想往我们 app 里添加第三方库。有时候集成一个特定的库(比如PayPal)是必须的,有时候是避免去开发一些非常复杂的功能,有时候仅仅只是避免c重复造轮子。虽然这些都是合理的考量,但使用第三方库的风险和相关成本往往被忽视或误解。在某些情况下,风险是值得的,但是在决定冒险之前,首先要能够明确的定义风险。为了使风险评估更加的透明和一致,我们制定了一个流程来衡量我们将其集成到app有多大的风险。原创 2022-09-21 18:32:28 · 730 阅读 · 0 评论 -
App Store 已上架项目打开瞬闪问题
如果是系统 Api 不兼容,不管是直接在 App store 下载安装,还是直接编译到手机,都会有问题。在 Xcode 升级到 13.4.1 后打包上架的项目,闪退的问题消失。收到问题反馈之后,使用手上测试机测试,iPhone11 iOS15.5 和 iPhone12 iOS15.0 均没有复现问题。并且项目打包上架,经过了。一时没有找到和用户相同的版本的测试手机,找到一台 iPhone11 iOS13.6 的手机。我目前的 Xcode 版本是 13.3.1,最新版本是 13.4.1,只差了一个小版本。原创 2022-09-03 18:16:12 · 420 阅读 · 0 评论 -
解决使用 AVAudioRecorder 录音保存 .WAV 文件遇到的问题
问题背景App 实现录音保存音频文件,并实现本地语音识别匹配功能。通过网络请求上传通过语音匹配的音频文件。服务器接收到文件并进行语音识别,使用的是第三方微软语音识别,只支持 PCM 数据源的 WAV 格式。本地识别没有任何问题,上传到服务器的文件无法识别,微软库直接报错。猜测上传的音频个是问题,导致的问题。问题代码- (NSDictionary *)getAudioSetting { NSMutableDictionary *dicM=[NSMutableDictionary dicti原创 2022-05-30 15:11:32 · 718 阅读 · 0 评论 -
纯 Swift 项目 - Xib | StoryBoard 多人协作技巧
不同于国外,StoryBoard从面世到如今饱受国内开发者的质疑,质疑的理由很多,什么不利于多人协作啊,隐藏了UI细节啊,出问题不容易测试,降低执行效率啊等等。此文就是针对这些问题的举例和剖析。StoryBoard 和 Xib 有什么区别?StoryBoard 和 Xib 都是用来分离UI样式代码,改善视图代码重用率,增加所见即所得,降低视图测试繁复度的视图系列化工具,其中Xib以视图View为主,StoryBoard 以控制器Controller及其之间的关系,以及和视图View的关系为主。转载 2022-03-04 12:04:32 · 2748 阅读 · 0 评论 -
百度一面总结
1. 二进制重排1.1 clang 插桩具体如何做的1.2 c++ 方法 clang 插桩能否取到?不能可以取到 c 函数,oc 方法,block,swift 方法但是可以用 -finstrument-functions 在编译期插桩 “hook”,或者使用并不完美但成本最低的静态扫描方案。1.3 除了二进制重排,还有哪些启动优化的方法1.3.1 pre main 阶段Load dylibs尽量不使用内嵌(embedded)的 dylib,加载内嵌 dylib 性能开销较大合并已有原创 2021-11-03 16:38:47 · 240 阅读 · 0 评论 -
Xcode 13 更新了哪些内容
直接进入主题。外观对比 Xcode 12,风格和显示都发生了变化:去掉了文件拓展名图标也可以识别文件类型自动调整了导航栏布局重新进行了分布和调整右下角增加了光标所在行列数文件拓展名设置:打开 设置 - 通用 选择 File Extensions:文件拓展名的显示隐藏控制,选项有三种:Hide All:隐藏全部拓展名Show All:显示全部拓展名Show Only:自定义显示拓展名 ↓↓↓↓问题提醒设置:在 设置 - 通用 里还多了一个 Xcode 12 没有的选转载 2021-09-26 15:38:27 · 675 阅读 · 0 评论 -
iOS14 广告追踪隐私适配没有弹框问题
导入框架+实现// System#import <AdSupport/AdSupport.h>#if defined(__IPHONE_14_0)#import <AppTrackingTransparency/AppTrackingTransparency.h>//适配iOS14#endif- (void)getAdPermissions{#if defined(__IPHONE_14_0) if (@available(iOS 14, *)) {原创 2021-05-11 10:45:52 · 1747 阅读 · 0 评论 -
iOS WKWebView加载HTML标签字体问题
在实战项目中遇到 WKWebView加载 HTML 标签字体问题,在此总结,分享给大家,更多内容持续更新中。#pragma mark - 懒加载- (WKWebView *)wkWebView{ if (_wkWebView == nil) { NSString *jScript = @"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttri原创 2021-04-26 10:41:13 · 784 阅读 · 0 评论 -
iOS dispatch_semaphore 信号量使用(返回顺序控制)
背景在有些时候,我们需要通过信号量来对block运算和返回操作的顺序进行控制,达到先完成block中的计算后,再返回值的效果。Example/// #import <UserNotifications/UserNotifications.h>- (BOOL)cj_chekEnableOfNotify { if (@available(iOS 8.0,*)) { dispatch_semaphore_t signal; signal =原创 2021-03-19 11:06:51 · 378 阅读 · 0 评论 -
iOS 解决报错 Module file /Users/anmo/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/3FOJ1MTM...
报错 Module file ‘/Users/anmo/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/3FOJ1MTM36H3U/CoreFoundation-3BM3GAL9XETA7.pcm’ is out of date and needs to be rebuilt: signature mismatch’解决方案1、【访达】->【前往】-> 【前往文件夹】(快捷键:shift + command + G):/Use原创 2021-03-16 16:38:48 · 4972 阅读 · 2 评论 -
iOS 判断设备是否越狱(两种方式结合判断)
越狱测试仅限真机+ (BOOL)JailBreak{ BOOL status1 = NO; BOOL status2 = NO; //根据是否能打开cydia判断 status1 = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cydia://"]]; //根据是否能获取所有应用的名称判断 没有越狱的设备是没有读取所有应用名称的权限的 status2 = [[NSF原创 2021-03-16 16:30:47 · 1390 阅读 · 0 评论 -
iOS 微信支付开发(最新版)
1. 介绍本文为以前做的项目总结,由于相关支付 SDK 迭代,原文已经不满足需求,故作如下更新,供大家参考,另外增加常见问题总结。项目中要用到支付功能,需要支付宝支付、微信支付、银联支付、Apple_pay,所以打算总结一下,方便以后的查阅,也方便大家, 用到的地方避免再次被坑。今天我们就主要介绍一下微信支付,其他支付介绍后面会尽快更新出来。集成前首先要看看文档,微信支付开发文档里面有详细的字段和说明。微信支付是需要签名的,跟支付宝一样,可以在客户端签名,也可以在后台签名(当然,为了安全还是推荐在原创 2021-01-24 21:43:37 · 1391 阅读 · 0 评论 -
iOS 支付宝支付开发(更新版)
1. 介绍本文为以前做的项目总结,由于相关支付 SDK 迭代,原文已经不满足需求,故作如下更新,供大家参考,另外增加常见问题总结。今天我们就主要介绍一下支付宝支付,其他支付介绍后面会尽快更新出来。在做支付之前,在网上也查寻了资料,大多都说,支付接入坑太多,微信坑最多,银联文档太复杂。其实如果接入的多的话,那些套路都可以绕着走。网上的经验什么的大都是比较老的,比较新的能用到的文章不多(但是好文章还是有的,对我帮助也很大),下面给大家详细介绍一下,帮助大家绕开坑。源码获取关注公众号「网罗开发」回复原创 2021-01-29 08:10:31 · 648 阅读 · 0 评论 -
分享读过的 45 本电子书籍
网罗天下方法,方便你我开发,「网罗开发」以移动端技术分享为核心,包含 iOS、Android、前端、小程序、RN、后端、算法等技术,认真总结相关技术,每天 17:01 准时推送!下面是整理出的电子版书籍和 Demo 源码。一:电子版书籍目前已经整理出 45 本 iOS 相关电子版书籍,分为 13 类如下:1. iOS 编程《iOS编程实战》《CFHipsterRef》《Advanced Swift》《Obscure Topics In Cocoa & Objective-C》《S原创 2021-01-23 22:34:16 · 373 阅读 · 0 评论 -
iOS 蓝牙设备名称缓存问题总结
1. 问题背景当设备已经在 App 中连接成功后修改设备名称App 扫描到的设备名称仍然是之前的名称App 代码中获取名称的方式为(perpheral.name)2. 问题分析当 APP 为中心连接其他的蓝牙设备时。首次连接成功过后,iOS系统内会将该外设缓存记录下来。下次重新搜索时,搜索到的蓝牙设备时,直接打印 (peripheral.name),得到的是之前缓存中的蓝牙名称。如果此期间蓝牙设备更新了名称,(peripheral.name)这个参数并不会改变,所以需要换一种方式获取设原创 2020-08-27 17:52:19 · 1653 阅读 · 1 评论 -
iOS OC调用Swift
iOS OC调用Swift 需要四步就能完成第一步Build Settings->Defines Module 设置为 YESMOdule Name 配置工程名第二步把swift 拖入项目,会提示是否创建桥接文件,选择创建非拖入式,没有提示 手动创建 选择 header file命名 XXXX-Bridging-Header [XXXX 表示项目名称]第三步Build Se...原创 2019-10-17 17:10:34 · 477 阅读 · 0 评论 -
iOS 手机网站支付转Native支付(使用WKUIDelegate协议获取url)
为了节约开发成本,很多Native-H5混合App采用手机网站支付的方式去实现支付模块。但手机网站支付的网络依赖比较严重,也通常需要经过更多的验证,这种种原因导致手机网站支付的成功率比Native支付低,对商户的利益造成影响。官方使用方法,UIWebViewDelegate协议 下面我就给大家介绍一下使用WKUIDelegate协议怎么解决手机网站支付转Native支付:一:sdk导入流程请查看二原创 2017-10-23 10:54:45 · 1642 阅读 · 0 评论 -
「网罗开发」| 技术博文汇总
一:简介最近将公众号里面的文章进行分类整理,希望对大家有帮助,感谢大家的支持,我会坚持写更好的文章分享给大家。文章大体分为:扫描识别集快捷支付集干货集第三方工具集理论集React Native插件集其他二:扫描识别集1. iOS扫描识别集人脸识别 – 活体检测(张嘴摇头识别)快速高效 | iOS银行卡识别iOS身份证识别(免费使用,内附 demo)iOS 指纹识别...原创 2019-04-02 10:56:45 · 593 阅读 · 0 评论 -
iOS--React Native密码键盘插件
一:介绍React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS和安卓两大平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。在React Na...原创 2019-03-19 10:45:16 · 1047 阅读 · 0 评论 -
iOS 统计Xcode项目代码行数
打开终端cd 到项目文件,例如:cd MerchantPay-iOS回车来到项目目录下运行下面指令find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" |xargs wc -l回车,执行–这条指令是获取每个文件内的代码行数,并在最后统计出一共的代码行数【注释也统计在代码量之内】...原创 2019-03-22 16:04:15 · 841 阅读 · 0 评论 -
iOS 蓝牙4.0开发使用(内附Demo)
一: 介绍近几年,智能设备越来越火,这些智能设备中,有很大一部分是通过手机来控制硬件设备,来达到预期的效果,这中间少不了要使用到蓝牙功能,通过蓝牙来通信来控制设备。蓝牙分为蓝牙2.0和蓝牙4.0。蓝牙2.0为传统蓝牙,传统蓝牙也称为经典蓝牙。蓝牙4.0因为低耗电,所以也叫做低功耗蓝(BLE),它将三种规格集一体,包括传统蓝牙技术、高速技术和低耗能技术。这篇文章用来介绍BLE 4.0的使用...原创 2019-03-25 19:07:29 · 2175 阅读 · 2 评论 -
iOS 指纹识别登录功能实现
简介Touch ID是苹果公司的一种指纹识别技术,从iPhone 5s开始,早已为人们所熟知。Touch ID不存储用户的任何指纹图像,只保存代表指纹的数字字符。苹果公司提供Touch ID给第三方应用程序使用,程序只会收到认证是否成功的通知,而无法访问 Touch ID 或与已注册指纹相关的数据,这一点对安全而言尤为重要。现在有很多银行类APP、涉及到支付类的APP都集成了指纹、手势等二次...原创 2019-04-22 14:22:02 · 4742 阅读 · 0 评论 -
AVFoundation | 封装一个好用的视频播放器
一:简介AVFoundation是苹果在iOS和OS X系统中用于处理基于时间的媒体数据的Objective-C框架. 供使用者来开发媒体类型的应用程序。上图是iOS系统下媒体应用的结构层. AVKit框架用于简化媒体应用的创建过程,如果你只需要看电影,那么使用这个就可以了, UKit可以支持简单的录制功能 . 而更多功能需要低层级框架支持.下面简单介绍下AVFoundation内最主要的支...原创 2019-04-18 15:03:41 · 1741 阅读 · 0 评论 -
iOS 防止反编译加密方法
1.本地数据加密对NSUserDefaults,sqlite存储文件数据加密,保护帐号和关键信息将文件进行加密 // 获取需要加密文件的二进制数据 NSData *data = [NSData dataWithContentsOfFile:@"/Users/wangpengfei/Desktop/photo/IMG_5551.jpg"]; // 或 base...原创 2019-04-18 15:31:01 · 1235 阅读 · 0 评论 -
iOS系统的优势和特性
一:iOS系统的优势苹果搭载的iOS系统与其他系统相比的优势有以下几点:1.1 软件与硬件整合度高iOS系统的软件与硬件的整合度相当高,使其分化大大降低,在这方面要远胜于碎片化严重的Android。这样也增加了整个系统的稳定性,经常使用iPhone的朋友也能发现,手机很少出现死机、无响应的情况。1.2 界面美观、易操作苹果在界面设计上投入了很多精力,无论是从外观性还是到易用性,iOS都...原创 2019-04-29 17:17:49 · 8364 阅读 · 0 评论 -
iOS XCode 解决 Showing Recent Messages :-1: Unable to load contents of file list
Xcode 运行pod项目报错 Showing Recent Messages原创 2019-05-14 15:14:46 · 31014 阅读 · 0 评论 -
解决 iOS 13 定位权限弹框自动消失
当手机升级到iOS 13的时候,你会发现很多奇葩问题,比如:原来正常的项目现在报错了,原来可以获取到的Wi-Fi信息没有了,定位弹框自动消失等等。定位权限弹框弹出后没有做任何操作自动消失了,代码如下:CLLocationManager *locationManagerSystem = [[CLLocationManager alloc]init];[locationManagerSystem...原创 2019-10-11 14:32:34 · 3217 阅读 · 0 评论 -
iOS App无需跳转系统设置自动连接Wi-Fi
一: 介绍近几年,智能设备越来越火,这些智能设备中,有很大一部分是通过手机来控制硬件设备,来达到预期的效果,这中间少不了要使用到蓝牙功能,通过蓝牙来通信来控制设备。除了蓝牙控制设备之外,还可以通过Wi-Fi来控制设备,iOS11前只能跳转到系统设置界面手动连接Wi-Fi,iOS11之后苹果提供 NEHotspotConfiguration ,NEHotspotConfigurationMana...原创 2019-03-11 11:52:46 · 4297 阅读 · 0 评论 -
第三方微信登录 | 静默授权与网页授权的实现
一:介绍第三方登录有QQ、微信、微博、支付宝等等,如果现在自己的项目中实现这些登录,即可以使用友盟的sdk,也可以一个一个接入,各有各的有点,这里不做赘述。今天和大家分享的是,在项目中实现微信登录,虽然微信官网给出了接入文档,但是我在接入的过程中,遇到一些问题,在此做出总结以便大家参考。主要讲微信snsapi_base静默授权与snsapi_userinfo网页授权的实现。二:准备...原创 2018-04-17 09:56:21 · 1057 阅读 · 0 评论 -
iOS UIDatePicker的使用详情
一:UIDatePicker的介绍UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期、时间和持续时长的输入。 日期选取器的各列会按照指定的风格进行自动配置,这样就让开发者不必关心如何配置表盘这样的底层操作。 你也可以对其进行定制,令其使用任何范围的日期。UIDatePicker这个类的对象让用户可以在多个车轮上选择日期和原创 2017-10-24 09:54:26 · 3377 阅读 · 0 评论 -
iOS UITextField 显示银行卡格式
输入框显示银行卡格式,即为每隔4位出现一个空格, 下面使用UITextFieldDelegate,编码实现: 首先引用使用代理类名 ()<UITextFieldDelegate>self.textField.delegate = self;使用代理方法- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:原创 2017-10-23 11:12:06 · 1413 阅读 · 0 评论 -
iOS 11种键盘布局总结
根据需求更换以下类型,例如:self.textField.keyboardType = UIKeyboardTypeDefault;1.UIKeyboardTypeDefault 常用于文本输入2.UIKeyboardTypeASCIICapable 常用于密码输入3.UIKeyboardTypeNumbersAndPunctuation 主键盘显示如上图,次键盘显示字母4.UIKeyboar原创 2017-10-23 11:11:28 · 9171 阅读 · 0 评论 -
iOS 获取当前时间及时间戳的互换
在项目开发中,难免会遇到使用当前时间,比如实现网络请求上传报文、预约、日历等功能。1. 获取年月日时分秒实现代码:NSDate *date1 = [NSDate date];NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];[formatter1 setDateStyle:NSDateFormatterMediumStyle原创 2017-10-23 11:10:51 · 3144 阅读 · 0 评论 -
iOS AFNetworking封装的网络请求
一: 封装的好处1.1 可以降低网络请求方法与Controller(控制器)的耦合度,即使网络使用的第三方框架发生不兼容、错误等问题从而想换框架时,也不用到每个控制器里面改代码(50、60页面会改到想哭)。 1.2 建立独立的工具类,方便管理。 1.3 优化代码结构。二:导入AFNetworking导入AFNetworking有两种方法: 一种直接将AFNetworking文...原创 2017-10-23 11:10:09 · 1396 阅读 · 0 评论 -
iOS 图片加载框架SDWebImage详解
目的在使用SDWebImage加载图片时,尤其是加载gif等大图时,SDWebImage会将图片缓存在内存中,这样是非常吃内存的,这时我们就需要在适当的时候去释放一下SDWebImage的内存缓存,才不至于造成APP闪退。 SDWebImage 提供了 UIImageView、UIButton 、MKAnnotationView 的图片下载分类,只要一行代码就可以实现图片异步下载和缓存功能。 这原创 2017-10-23 11:05:26 · 8957 阅读 · 0 评论