今天我在 Xcode 12 上遇到了问题。当我尝试 iOS 15 版本的应用程序时,我注意到选项卡栏背景发生了变化。我通过添加这行代码解决了这个问题
if (@available(iOS 15.0, *)) {
[[UITabBar appearance] setScrollEdgeAppearance:tabBarAppearance.appearance];
}
Run Code Online (Sandbox Code Playgroud)
但当我从 Xcode 13 换回 Xcode 12 后,我遇到了这个问题。
'UITabBar' 没有可见的 @interface 声明选择器 'setScrollEdgeAppearance:'
对我来说似乎是 Xcode12 bug,但也许我错了。
编辑:添加了代码中的 if 语句
我正在使用 Xcode 13 的最新测试版和应用程序,iOS 14现在我面临这个奇怪的问题:我的应用程序的全局强调色工作正常,直到iOS 15更新,此时颜色现在设置为之前的默认蓝色是我的定制颜色。
更新到iOS 15后,我这样实现了UITabBar配置:
let backgroundColor = UIColor.grey
let selectedItemTextColor = UIColor.blue
let unselectedItemTextColor = UIColor.black
if #available(iOS 15, *) {
let tabBarAppearance = UITabBarAppearance()
tabBarAppearance.backgroundColor = backgroundColor
tabBarAppearance.stackedLayoutAppearance.selected.titleTextAttributes = [.foregroundColor: selectedItemTextColor]
tabBarAppearance.stackedLayoutAppearance.normal.titleTextAttributes = [.foregroundColor: unselectedItemTextColor]
tabBar.standardAppearance = tabBarAppearance
tabBar.scrollEdgeAppearance = tabBarAppearance
} else {
UITabBarItem.appearance().setTitleTextAttributes([.foregroundColor: selectedItemTextColor], for: .selected)
UITabBarItem.appearance().setTitleTextAttributes([.foregroundColor: unselectedItemTextColor], for: .normal)
tabBar.barTintColor = backgroundColor
}
Run Code Online (Sandbox Code Playgroud)
这适用于 iOS 15 及更早版本。
但在我的项目中,我需要为选项卡栏项目之一设置选定/未选定的文本颜色,与其他项目不同。在运行时设置它。
有 5 个选项卡栏项目。在某些时候,我需要这种行为:其中四个应该具有蓝色/黑色文本颜色(对于选定/未选定状态),一个应该具有红色/绿色。
直到 iOS 15,我都使用这段代码来设置每时每刻所需项目的颜色:
let indexOfItemToChange = 4
tabBar.items[indexOfItemToChange].setTitleTextAttributes([.foregroundColor: UIColor.red], for: .selected)
tabBar.items[indexOfItemToChange].setTitleTextAttributes([.foregroundColor: UIColor.green], for: .normal)
Run Code Online (Sandbox Code Playgroud)
更新到iOS 15后就没有效果了。我尝试过这样设置: …
我在最新的 Xcode 13 上运行我的应用程序,在模拟器中的 iOS 15 上运行我的应用程序,当水平滚动表行(包含集合视图)时会产生奇怪的渲染错误/问题。这只是视觉上的。单元格上的触摸点都正常,我可以用手指滚动渲染无法滚动的地方...
这是一个集合视图表...
另外,如果我垂直滚动表格,任何渲染故障都会得到解决......直到我再次从左向右滚动。
当我尝试打开 Xcode 项目时,我收到一条错误消息:
无法打开“/Users/.../[].xcodeproj”处的项目,因为它采用未来的 Xcode 项目文件格式。使用兼容版本的 Xcode 调整项目格式,以允许该版本的 Xcode 打开它。
我目前使用的是 Xcode 12.5.1,但没有安装 Xcode 13。有一个类似的问题(Xcode 13 - '/Users/test.xcodeproj' 的项目无法打开,因为它采用未来的 Xcode 项目文件格式),建议更改项目格式以使其与 Xcode 12 兼容,但我可以'不这样做,因为我无法在 Xcode 12 中打开项目文件。
我创建了一个 iOS 框架。该框架是由 XCode 版本 12.5.1 构建的。当我将此框架与XCode 13.0一起使用时,出现以下错误。
This SDK is not supported by the compiler (the SDK is built with 'Apple Swift version 5.4.2
(swiftlang-1205.0.28.2 clang-1205.0.19.57)', while this compiler is 'Apple Swift version 5.5
(swiftlang-1300.0.31.1 clang-1300.0.29.1)'). Please select a toolchain which matches the SDK.
Run Code Online (Sandbox Code Playgroud)
有人也遇到过这个问题吗?请回复。
我们的 iOS/iPadOS 应用程序遇到了极其奇怪的崩溃。
\n我们最新版本中的一些重大变化:
\n好吧,这是奇怪的部分:我们的应用程序对于直接从 iOS 14 和 15 上的 App Store 或 TestFlight 下载并安装应用程序的用户来说运行良好。
\n然而,对于 iOS 14 用户来说,该应用程序在启动时会崩溃,这些用户通过 MDM 从 App Store(公开或私人发布,无关紧要)将应用程序推送到手机,并从一个对话框中安装它,例如“AirWatch 即将发布”。从 App Store 安装 REDACTED。您的 iTunes 帐户不会因该应用程序而付费。”
\n那么,自己安装后启动应用程序与 MDM 安装后启动应用程序\xe2\x80\x94 之间有什么区别,在这两种情况下,应用程序都源自 App Store?
\n这是一个崩溃日志示例:
\n{"app_name":"REDACTED","timestamp":"REDACTED","app_version":"REDACTED","slice_uuid":"REDACTED","adam_id":REDACTED,"build_version":"REDACTED","platform":0,"bundleID":"com.REDACTED.REDACTEDapp","share_with_app_devs":0,"is_first_party":0,"bug_type":"109","os_version":"iPhone OS 14.6 (18F72)","incident_id":"REDACTED","name":"REDACTED"}\nIncident Identifier: REDACTED\nCrashReporter Key: REDACTED\nHardware Model: iPhone11,8\nProcess: REDACTED [1561]\nPath: …Run Code Online (Sandbox Code Playgroud) 我们有一个复杂的 Xcode 工作区,其中包含大量依赖项和依赖项的依赖项。构建它们的顺序很重要,Xcode <13 永远无法使用 Xcode 方案的“Parallelize Build”设置找出正确的顺序,因此这个选项对我们来说是无效的。
现在,在 Xcode 13 中,方案选项已更改为“依赖顺序”和“手动顺序”。由于上述原因,我们使用后者。
构建这个时,Xcode 会向我们发出以下警告:
不推荐以手动顺序构建目标 - 请在方案设置中选择“依赖顺序”,或在当前方案的任何目标中设置 DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING 以抑制此警告。
但我们找不到在哪里设置它。
问题:我们必须在 Xcode 中的哪个位置设置 DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING 来抑制此警告。
我目前正在将项目的依赖管理器从 Carthage 切换到 Swift Package Manager,
例如,在使用 Carthage 构建时,我们有领域依赖关系,它曾经是一个动态框架,
但是在SPM中,当我尝试添加领域时,它默认提供领域静态框架,并且我找不到切换到动态框架的方法,
由于我们的项目中有一些相互依赖的子模块,因此尝试链接静态库会出现duplicate symbols错误。
如果我可以像迦太基那样直接下载领域作为动态框架,我会更容易,
有谁知道该怎么做?
预先感谢您的帮助:)
我有一台 250Gb M1 Mac Mini,最近它开始耗尽磁盘空间,看来 UI 预览是罪魁祸首,它仅占用了大约 165GB 空间,而且每天都在增加。尝试使用 Dev Cleaner 删除该文件夹,但被告知无法执行此操作。试图用谷歌搜索这个问题,但只发现这个帖子只有几个回复。我想知道是只有我一个人有这个问题还是每个人都有这个问题?