我正在尝试上传一个应用程序到TestFlight。该应用程序在模拟器中编译和运行,如果我直接从Xcode安装它,也将在我的iPhone上运行。如果我将其存档并推送到TestFlight,然后从TestFlight更新我的设备,当我尝试查看特定的视图控制器时,应用程序崩溃。
我正在使用MessageKit(使用Cocoapods,因为这是我正在恢复的一个旧项目),导致应用崩溃的特定视图控制器扩展了MessagesViewController。TestFlight返回给我的错误消息如下:
“MessageKit:static UIColor.colorFromAssetBundle(named:)"
也许归档过程跳过了Xcode本地包含的Messagekit中的一个包?
任何对StackOverflow上类似错误的引用似乎都是超特定的:
iOS app runs fine if installed through Xcode, but crashes on one particular view controller when installed through TestFlight
在上面的用户的情况下,他们只是结束了重写viewController(这对我来说意味着删除和重写MessageKit)。
我认为这是一个归档过程中跳过文件的问题。如果是这种情况,任何关于如何调查的想法,或任何关于如何纠正这种情况的建议,将不胜感激。谢谢!
2条答案
按热度按时间ukdjmx9f1#
MessageKit中的UIColor和Bundle扩展中提供了以下代码:
UIColor+Extensions.swift
Bundle+Extensions.swift
请确保您在这里有正确的MessagesViewController捆绑包,或者手动将assets files in MessageKit复制到项目的资产文件中。
wyyhbhjk2#
解决方案:Coacopods是问题所在。我运行的是使用cocaopods发布的最新版本的Messagekit,这已经超过一年了。这意味着更新Pod永远不会起作用。我切换到了Swift包管理器,并拥有最新版本的Messagekit,一切都正常!感谢所有伸出援手的人。
参考:https://github.com/MessageKit/MessageKit/issues/1537