在 watchOS 5.2 崩溃时找不到适合组合的图像
Posted
技术标签:
【中文标题】在 watchOS 5.2 崩溃时找不到适合组合的图像【英文标题】:No suitable image for Combine found on watchOS 5.2 crash 【发布时间】:2019-08-24 13:04:28 【问题描述】:信息
我的应用程序在运行 watchOS 4 和 5 的 Apple Watch 上崩溃。一些新功能(即Combine
)依赖于 watchOS 6,并且这些方法的使用明确标记为
@available(watchOSApplicationExtension 6.0.0, *)
该应用程序是使用 Xcode 9/10 创建的(我忘了具体是哪个),并以 watchOS 4 为目标。现在,当它使用 Xcode 11 构建并具有依赖于 Combine 的文件时,它会在 watchOS 5 Apple Watch 上崩溃。
错误是
dyld: Library not loaded: /System/Library/Frameworks/Combine.framework/Combine
Referenced from: /private/var/containers/Bundle/Application/7A361FAB-EBE7-483D-BFD7-E915F15B5B14/Chirp WatchKit App.app/PlugIns/Chirp WatchKit Extension.appex/Chirp WatchKit Extension
Reason: image not found
很明显,Combine
打得不好。
另外,它不会在 watchOS 5 模拟器中启动,而且错误更能说明问题:
dyld: Library not loaded: /System/Library/Frameworks/Combine.framework/Combine
Referenced from: /Users/willbishop/Library/Developer/CoreSimulator/Devices/C6F36860-E70A-45E6-AC3B-E54DBCEA7C7A/data/Containers/Bundle/Application/1B2EC7C4-731F-4EC1-B23F-09A0B49CD055/Chirp WatchKit App.app/PlugIns/Chirp WatchKit Extension.appex/Chirp WatchKit Extension
Reason: no suitable image found. Did find:
/System/Library/Frameworks/Combine.framework/Combine: mach-o, but wrong architecture
我的尝试:
我认为这可能是因为我有 watchOS 6 相关代码,与 watchOS 5 文件混合在一起。但是,将代码移动到单独的文件后,问题仍然存在。
清理项目
删除Derived Data/
尽管如此,还是没有运气。我认为这是某处的构建设置,但我不知道是哪一个。
【问题讨论】:
【参考方案1】:我相信您需要做的是使Combine.framework
成为可选链接。出于某种原因,Combine 无法为此使用普通 UI(还没有?),但another thread 中似乎有解决方案。
【讨论】:
以上是关于在 watchOS 5.2 崩溃时找不到适合组合的图像的主要内容,如果未能解决你的问题,请参考以下文章
watchOS 2 HealthKit HKSampleQuery 崩溃
iOS XCode - 为Profile构建时找不到Swift类
Watch Complication 导致 dyld 崩溃:找不到符号:_OBJC_CLASS_$_CLKFullColorImageProvider
XCode 11.3 崩溃,iOS 13.2.2 模拟器 iPhone X 和 watchOS 4.2 Apple Watch 42mm