CocoaPods私有库生成
发表于|更新于
|浏览量:
CocoaPods私有库生成
文章作者: 今是昨非
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 今是昨非的博客!
相关推荐
2022-06-11
The 'Pods-App' target has transitive dependencies that include static binaries
The ‘Pods-App’ target has transitive dependencies that include static binaries:修改背景最近遇到了两次次这个问题,都是Swift项目Pod添加库开启了use_frameworks!,安装某些OC库时报错;花了好久时间解决,突然想起来之前OC项目安装Swift库也遇到了这个问题,但是之前没有记录,所以这次遇到时没有印象;这次记录下来,分享给大家: 解决方案之前遇到的是OC代码安装ZLPhotoBrowser的Swift库,开启了use_frameworks!,和其他第三方库一起安装时,可以理解为,除了ZLPhotoBrowser是动态库,其他的第三方库默认都使用static_framework或者static_library。 Pod文件末尾添加下面代码: 12345678910111213141516171819use_frameworks!...dynamic_frameworks = ['ZLPhotoBrowser']pre_install do |installer| ...
2024-07-31
Swift 面试题
背景被问到的面试题,这里记录一下。 问题Swift 中 Struct 和 Class 的区别Swift 中 为什么 String、Array、Dictionary 用 Struct 实现Swift 中写时复制的原理Swift 中变量作用域有哪些,区别是什么Swift中 Protocol 如何声明可空MVP 的优点是什么RxSwift 中冷信号和热信号的区别RxSwift 中 CombineLatest、zip、merge的区别Git 中 rebase和 merge 的区别,rebased的 commitID 会改变吗SwiftUI 中 View 传值方式有哪些什么情况下触发 layoutSubviews 答案Swift 中 Struct 和 Class 的区别Struct是值类型,Class 是引用类型;Struct和 Class 都可以有属性和方法,但是 let 修饰的 Struct 不能更改,Class 修饰的可以更改;Struct方法中修改属性需要在方法前添加 mutating 关键字。Struct和 Class 都可以实现协议。Struct不能被继承,Class 可以...
2021-05-13
如何让iOS推送播放语音
本文发表在《搜狐技术产品》公众号如何让iOS推送播放语音 iOS 推送播放语音一:背景iOS 推送播放语音的需求调研,即收到推送后,播放推送的文案,文案的内容不固定。类似于支付宝和微信的收款到账语音。 只有iOS10以上才支持app被唤醒后在后台/锁屏状态下播放音频。所以iOS10以下的设备,在收到VoIP Push后只能在local push上设定一段固定铃声,这也是为什么iOS10以下只有“微信支付收款到账”。 iOS 12.0之前,后台播放音频未被限制,直接使用Notification Service Extension (iOS 10.0以后才支持) 功能使用系统提供的功能AVSpeechSynthesizer即可。 iOS 12.0之后,Notification Service Extension后台播放音频功能被限制,所以播放实现起来比较困难。 如果要上架商店,只有播放固定的音频,或固定拼接的音频,通过设置通知的声音或者发送本地通知设置本地通知的声音来播放 如果无需上架商店,可以手动打开Notification Service Extension的后台播放, ...
2022-09-14
Xcode14编译失败修改
背景升级Xcode 14后,项目编译失败修改,共修改了两种编译错误: 一种是bundle code sign error,Xcode 14 needs selected Development Team for Pod Bundles 一种是Module compiled with Swift 5.6.1 cannot be imported by the Swift 5.7 compiler 其中第一种比较容易解决,第二种稍微麻烦点,解决方案如下: 解决Xcode 14 bundle code sign error这个的解决方案,直接Google,第一个stackoverflow的链接是Xcode 14 needs selected Development Team for Pod Bundles,这里面给出的解决方法是,在Podfile里增加下面代码,然后运行Pod install,设置Pod库的DEVELOPMENT_TEAM是开发者账号的team。 笔者有两个项目,其中一个是Swift为主,用下面的设置方法试了,可以解决。要注意的是如果项目有多个target,ta...
2021-04-21
iOS 删除新创建项目中的SceneDelegate
iOS 删除新创建项目中的SceneDelegate背景Xcode 11之后新建工程,默认为有SceneDelegate,但是SceneDelegate是从iOS 13之后才有的,如果最低兼容版本到iOS 13以下,需要怎么做呢? 过程首先来看一下,SceneDelegate是什么,为什么会有SceneDelegate 官方说明: A UISceneSession object manages a unique runtime instance of your scene. When the user adds a new scene to your app, or when you request one programmatically, the system creates a session object to track that scene. The session contains a unique identifier and the configuration details of the scene. UIKit maintains the sessio...
2021-11-23
iOS 接入 HTTPDNS
背景最近开发水印相机,遇到了用户网络正常,但是上传超时、上传失败的问题。通过听云后台看到接口错误记录中,用户的 localDNS 为空,于是就有了接入 HTTPDNS 的需求。 实践由于项目中网络请求使用的 AFNetworking 框架,接入第三方 HTTPDNS 后,需要修改 AFNetworking 中的内容,才能让请求走IP。 大致流程是接入 SDK——>注册 SDK——>获取 IP——>存储——>使用。这里可依据个人情况,在启动时进行 SDK注册,获取 IP 有两种方式,一是只在 APP 启动时获取一次,然后存储起来,APP使用过程中不需要更新。二是在 每次某个接口使用时都获取。 下面详细来看看接入的过程 阿里 HTTPDNS 按照快速入门中的步骤进行配置 添加域名,注意阿里的添加域名,可以添加全匹配和二级域名的方式 参考iOS SDK 接入进行接入 使用 CocoaPods 接入 这里到要骂人的地方了,按照阿里自己的官方文档上面写的 CocoaPod 安装的SDK不是最新的 12345source 'https://gith...