weak的实现原理
发表于|更新于
|浏览量:
weak的实现原理
文章作者: 今是昨非
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 今是昨非的博客!
相关推荐
2022-11-22
使用WidgetKit打包出的APP低版本崩溃
背景APP添加了WidgetKit功能,APP最低版本是10.0,用户反馈安装后,打开就闪退,这里记录一下原因: 解决排查后发现用户手机系统版本较老,低于iOS 14,由于手头没有低版本的设备,通过Xcode 12.x添加iOS 10.x模拟器添加了iOS12.0的模拟器,Debug模式下没有问题,但是Release不行,控制台报错类似如下: dyld: Library not loaded: /System/Library/Frameworks/WidgetKit.framework/WidgetKit Referenced from: /private/var/containers/Bundle/Application 搜索后,发现解决方案如下: Select your target Build Phases Link binary with libraries Add WidgetKit and set its Status to “Optional” 参考 Error running app with widgetKit on iOS 13
2022-03-29
Xcode 13.3 Archive 失败
背景升级Xcode 13.3之前,Debug 和 Archive 都没问题;升级 Xcode 13.3之后,Debug 没问题,Archive 就报错。错误信息是error: Abort trap: 6 (in target 'ZLPhotoBrowser' from project 'Pods'),于是提了个 issue,目前已解决。 解决方案是: 123"You can work around this issue by replacing UI_USER_INTERFACE_IDIOM() with UIDevice.current.userInterfaceIdiom. 这里记录分享一下,如果遇到同样问题的,可以搜一下,看是否同样是因为UI_USER_INTERFACE_IDIOM()。
2022-09-05
Carthage使用
背景之前一直用CocoaPods,这次做编译时间优化时,把某些Pod依赖的库改为了Carthage依赖的,这里记录一下Carthage的使用。 使用安装使用brew安装,简单方便 1brew install carthage 使用在项目所在文件夹,即.xcodeproj所在的文件夹下,创建Cartfile 1touch Cartfile 然后打开Cartfile 1open Cartfile -a Xcode 添加要依赖的第三方库,注意依赖版本的指定,指定版本和指定范围的写法,如下: 1234567891011github "krzyzanowskim/CryptoSwift" ~> 1.4.0github "evgenyneu/keychain-swift" ~> 19.0github "ibireme/YYKit"github "ReactiveX/RxSwift" "6.5.0"github "onevcat/Kingfisher" ...
2021-04-19
iOS 自动打包
iOS 自动打包使用FastLane打包安装 fastlane 通过HomeBrew安装 brew install fastlane 通过Bundler安装 安装 bundler 然后在项目根目录下创建./Gemfile文件,编辑内容 1234// 安装 bundler$ gem install bundler 12345//然后在项目根目录下创建./Gemfile文件,编辑内容source "https://rubygems.org"gem "fastlane" 编辑Gemfile文件: 123456source "https://rubygems.org"gem "fastlane", "2.180.1"# 如果使用Cocoapods,需要添加下面这行gem "cocoapods" 通过ruby gems安装 1sudo gem install fastlane fastlane安装成功后,安装两个插件,用于版本号管理和打包成功...
2024-11-19
国行Mac 开启 Xcode inteligence 提示
背景电脑国行 Mac M1,内存 16G,版本 Sequoia 15.1,Xcode 16.1,在Xcode 设置中,Text Editing 下,Editing Tab下,能看到有个设置Predictive code completion,但是默认是关闭的, 国行的提示不支持,这里说的是怎么开启这个,亲测开启成功。 最终效果如下: 步骤参考XcodeLLMEligible,我用的是不 disable sip 的方式。 首先,在终端中,输入下面命令: 12345678# Override XcodeLLM onlycurl -L https://raw.githubusercontent.com/Kyle-Ye/XcodeLLMEligible/release/0.2/scripts/override.sh | bash -s -- install override xcodellm# Override Apple Intelligence onlycurl -L https://raw.githubusercontent.com/Kyle-Ye/XcodeLLMEli...
2021-12-27
iOS SDK 不支持模拟器解决办法
背景iOS 第三方 SDK 不支持模拟器,报错提示: building for ios simulator, but the linked framework ‘’xxx(比如: IDLFaceSDK.framework)” was built for ios 解决办法.。 解决办法首先,在Target -> BuildSettings -> Excluded Source FileNames -> Debug 中添加一行,注意,key选择 Any iOS Simulator SDK,value 中添加报错中提示的 SDK的目录,示例如下: 然后,在项目中,引用对应 SDK 头文件,以及使用 SDK 方法的地方添加如下代码判断 1234567891011121314#if !(TARGET_IPHONE_SIMULATOR)#import <xxx/xxx.h>#endif#if !(TARGET_IPHONE_SIMULATOR)[xxx share].yyy = xxx;#endif