刷新
apple 为什么要改 objc_msgSend 的类型申明

原文: https://mikeash.com/pyblog/objc_msgsends-new-prototype.html ##总结 : objc_msgSend 类型申明改变的原因: 让错误在编译的时候发生,而不是等到运行时。 为什么有 运行时错误 : ABI 的错配,调用方的ABI (对参数 ...

swift 使用SMAMB2包,重新打包的心酸历程

博主头像 首先网上很多教程是关于使用swift SMAMB2包的,大部分都是 pod "SMAMB2" 这种方式还是非常简单的,如果仅仅是这样还不至于专门写一篇文章来纪念他。问题就出在我的项目需要用到SMB协议去读取文件,但是并不是直接读取! 通俗一点来讲就是我的用法和 SMAMB2包提供的用法不同! 那就意 ...

iOS全埋点解决方案-APP和H5打通

博主头像 前言 ​ 所谓的 APP 和 H5 打通,是指 H5 集成 JavaScript 数据采集 SDK 后,H5 触发的事件不直接同步给服务器,而是先发给 APP 端的数据采集 SDK,经过 APP 端数据采集 SDK 二次加工处理后存入本地缓存再进行同步。 一、App 与 H5 打通原因 1.1 数据 ...

iOS全埋点解决方案-采集崩溃

博主头像 前言 ​ 采集应用程序崩溃信息,主要分为以下两种场景: ​ NSException 异常 ​ Unix 信号异常 一、NSException 异常 ​ NSException 异常是 Objective-C 代码抛出的异常。在 iOS 应用程序中,最常见就是通过 @throw 抛出的异常。比如,常见 ...

苹果宣布 2022 年 Apple 设计大奖得主

博主头像 Apple 今日举办了年度 Apple 设计大奖颁奖仪式,表彰 12 款出类拔萃的 app 与游戏佳作。今年的获奖者包括来自全球各地的开发者。他们通过 app 呈现锐意创新、别出心裁的优美设计体验,以远见、决心和才华为用户带来启迪。本届设计大奖与去年一样,设立了兼容并蓄、乐趣横生、优越互动、社会影响 ...

iOS全埋点解决方案-数据同步

博主头像 前言 ​ 将本地存储的事件数据同步到服务器,然后经过服务端的存储、抽取、分析和展示,充分发挥数据真正的价值。 一、数据同步 第一步:在 SensorsSDK 项目中,新增 SensorsAnalyticsNetwork 工具类,并新增 serverURL 用于保存服务器 URL 地址 #import ...

在工作中离屏真的不重要吗,代码优化就真的不考虑0.1%的离屏问题吗,懂得离屏渲染原理,让你程序员之后走的更长

博主头像 GPU 渲染机制:CPU计算好显示内容提交到GPU,GPU渲染完成后将渲染结果放入帧缓冲区frame buffer,随后视频控制器会按照VSync信号逐行读取帧缓冲区的数据,经过可能的数模转换传递给显示器显示。 GPU 屏幕渲染有以下两种方式: ● 1)On-Screen Rendering,意为当 ...

iOS全埋点解决方案-数据存储

博主头像 前言 ​ SDK 需要把事件数据缓冲到本地,待符合一定策略再去同步数据。 一、数据存储策略 ​ 在 iOS 应用程序中,从 “数据缓冲在哪里” 这个纬度看,缓冲一般分两种类型。 内存缓冲 磁盘缓冲 ​ 内存缓冲是将数据缓冲在内存中,供应用程序直接读取和使用。优点是读取速度快。缺点是由于内存资源有限, ...

iOS M1 芯片 编译爬坑

主要是两个错误,引起混淆。导致爬了挺久的坑。 1、 In xxxx/proj.ios_mac/xxxx.framework/xxxx(xxxx.a-arm64-master.o), building for iOS Simulator, but linking in object file buil ...

iOS直播/游戏怎么利用特殊音效制造娱乐效果?

博主头像 我们在直播中,为了增强真实感,烘托场景氛围需要播放的简短效果音。例如:掌声、笑声、礼物音效、提示音等。在游戏中,有时也需要播放子弹声、碰撞打击声等。 ZegoExpress SDK 提供音效文件播放器,通过 ZegoAudioEffectPlayer 统一管理音效,支持音效播放(可以多音效重叠播放... ...

iOS Widget

1. Widget iOS通过在手机屏幕上添加小组件,小组件内容一般是展示用户所关心的内容 小组件不是实时刷新,通过设置时间间隔进行刷新(官方文档上设置的是15分钟刷新一次) 小组件可以设置点击事件,通过点击可以打开主程序,通过SchemeUrl 可以对点击事件进行处理 2 Widget Size ...

如何基于 ZEGO SDK 实现 iOS 变声/混响/立体声

博主头像 在直播、语聊房、K 歌房场景中,为增加趣味性和互动性,玩家可以通过变声来搞怪,通过混响烘托气氛,通过立体声使声音更具立体感。ZegoExpress SDK 提供了多种预设的变声、混响、混响回声、立体声效果,开发者可以灵活设置自己想要的声音,如果需要试听,可以启用耳返进行测试。 ...

iOS全埋点解决方案-用户标识

博主头像 前言 ​ 分析用户行为,需要标识用户。选择合适的用户标识,可以提高用户行为分析的准确性,尤其是是漏洞留存分析等,这些和用户分析相关的功能。对于唯一标识一个用户,我们需要考虑两种场景。 用户登陆之前如何标识 用户登陆之后如何标识 一、登陆之前 业界一般使用 iOS 设备的某个特定属性或者某几个特定属性 ...

SFSafariViewController 加载的网页与原生oc之间的交互

博主头像 问题描述: 工作中碰到这样一种场景, WebApp 已经实现了IM即时通讯及基于WebRTC实现的音视频会议,音视频聊天。 也是半路接手的项目,项目整体是使用WKWebView套壳加载h5 页面实现(后期过审还有很多路要走) 。 h5与原生交互的方案使用的javascriptCore(具体如何使用, ...

iOS 苹果集成登录及苹果图标的制作要求

博主头像 前言 如果要上架的应用集成了三方登录,那么在审核时,苹果会强制要求应用也要集成苹果登录。如果应用没有集成一般情况下都会被审核团队给打回来。 苹果集成登录 首先,你需要在开发者中心,找到你的应用,勾选上 Sign in with Apple 勾选并保存好后, 打开Xcode, 找到项目中的Signin ...

iOS 组件化及二进制化的探索

博主头像 组件化的优缺点 组件化的拆分 组件与组件之间如何进行通讯(路由) 从Cocopods拉取代码的过程 远程索引库里很多的.spec文件,该文件记录了很多内容,如用户名,框架名称,描述,框架的地址 Podfile 文件是拉取框架源码的配置文件, pod install 命令会根据Podfile中配置来拉 ...

iOS 集成WebRTC相关知识点总结

博主头像 前言 本文主要是整理了使用WebRTC做音视频通讯时的各知识点及问题点。有理解不足和不到位的地方也欢迎指正。 对于你感兴趣的部分可以选择性观看。 WebRTC的初始化 在使用WebRTC的库之前,需要对WebRTC进行初始化, 用到的代码如下: RTCInitializeSSL(); 转定义后可以看 ...

iOS WebRTC 点对点实时音视频流程介绍

博主头像 前言 公司某个项目需要接入音视频即时通讯, 功能类似微信的拨打视频通话,语音通话的场景。那么对于音视频通讯会用到什么技术呢?没错,它就是 WebRTC 。 什么是WebRTC WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,简而言之它是一个支持网页 ...