-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kingfisher stops the app from archiving on Xcode 13 RC #1802
Comments
Duplicated with #1725 As indicated in the Xcode 13 Release Notes:
Unfortunately Kingfisher falls into this (since it is supporting SwiftUI, which in turn using Combine to manage states). This is not a thing can be fixed easily in a library like Kingfisher. So please try to upgrade to Kingfisher v7 (and consider to drop support under iOS 12. Here is the migration guide). Here is an image (from Aug, 2021) that you can use to persuade your boss to drop those old ones: I am not sure if this "Known Issues" can be fixed by Apple in near future. With the fact that the problem started to be there from Xcode 13 beta 2 to the final release, I doubt whether Apple has any motivation to fix it or mark it as urgent. If you still need to support older systems (such as iOS 10 or 11), maybe it is a good idea to keep using Xcode 12 for a longer while before Apple fixes it. |
We have a minimum deployment target of iOS 13.2 and we still have this issue. Since we need the SwiftUI components, for us there is no migration path possible without dropping iOS 13, and moving to KF v7, unless we make our own fork and bump KF's target version. |
That is also a reasonable workaround for now to fork from v6 and only update the deployment target version without any changes of other part, until you are prepared to migrate to the new Kingfisher version 7. |
What does one have to do in order to get this working with cocoapods? EDIT: You have to go to your pods target settings and change the deployment number. |
Hi, you can use Xcode 13+ and Kingfisher and iOS 11 (tested) if you will remove pods and install Kingfisher from SPM Archiving work fine |
This is to get around onevcat#1802, which was introduced with the update to Xcode 13. onevcat#1802
Use Xcode 13 Release and drop support under iOS 11 will fix for me. |
Since my min supported iOS version is 13.0.
|
Some project need to modify configuration as follows: post_install do |pi|
pi.pods_project.targets.each do |t|
t.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
end
end
end Confused behaviour! 😂 |
We noticed this issue can be fixed by changing Project Format to Xcode 8.0-compatible within iOS 11. And then Architectures became |
TLDRDetermine the latest version you can use by:
If you really have to support from iOS 10 in Xcode 13, and you are not using SwiftUI. Check the workaround here. Detail for current workaroundFor anyone who still needs to use Kingfisher v6 (for supporting iOS 11 UIKit or iOS 13 SwiftUI), but wants to use it in Xcode 13, now there is a compatible branch The only change in that branch, compared to the released 6.3.1, is dropping of iOS 10 for UIKit support. That allows Xcode 13 skip the ARMv7 compilation so it won't trigger this issue anymore. That branch would exist for at least one year so you can migrate to version 7 eventually. Again, the deployment increment in Kingfisher v7 (iOS 12 for UIKit, iOS 14 for SwiftUI) is intended and important to provide a correct data model. If you do not need to support older system anymore, it is encouraged to upgrade to the latest version. |
因为项目需要适配iOS10,并且项目没有使用到swiftui,所以就使用ruby脚本将报错相关代码移除掉 pre_install do |installer| def remove_swiftui |
Apple fixed this in Xcode 13.2 (still in beta though), so if you still need Kingfisher v6 (supporting from iOS 10) in Xcode 13, you can wait for the final release of Xcode 13.2. Otherwise, if you only need to support from iOS 12 or later, upgrade to the latest Kingfisher v7 would be a better choice. |
Finally,Xcode 13.1 still feels like a beta to me 😂
发自我的iPad
…------------------ Original ------------------
From: Wei Wang ***@***.***>
Date: Thu,Oct 28,2021 8:53 AM
To: onevcat/Kingfisher ***@***.***>
Cc: Choi ***@***.***>, Comment ***@***.***>
Subject: Re: [onevcat/Kingfisher] Kingfisher stops the app from archiving on Xcode 13 RC (#1802)
Apple fixed this in Xcode 13.2 (still in beta though), so if you still need Kingfisher v6 (supporting from iOS 10) in Xcode 13, you can wait for the final release of Xcode 13.2. Otherwise, if you only need to support from iOS 12 or later, upgrade to the latest Kingfisher v7 would be a better choice.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
|
Xcode 13.2 was released (as RC although) in which a fix for this is contained. Now even Kingfisher v6 could be used in Xcode 13.2. |
Issue Description
Kingfisher produces a large number of build errors when building for "Any iOS device (arm64)" with Xcode 13 RC.
What
It seems that it cannot find references to SwiftUI data types, even the
import SwiftUI
statement is present.There is a workaround, but it's not nice: we forked and bumped the minimum version for iOS in KF's
Package.swift
to iOS 13, and the issue disappeared.Reproduce
I made a sample project that reproduces the issue:
KingfisherArchiveIssue.zip
Select "Any iOS Device (arm64)" and try to build (or archive).
The text was updated successfully, but these errors were encountered: