当我使用XCode启动我的应用程序时,出现崩溃但没有错误
应用程序只是在此线程上停止
我应该怎么做才能获得有关该问题的更多信息?
Answers:
如果使用自定义框架,则需要将其放在Xcode项目“目标/常规”标签下的“嵌入式二进制文件”部分中。
对我来说,一个简单的Clean
,并Rebuild
整理出来。希望能帮助到你。
将框架添加到嵌入式二进制资产列表可以解决此问题。这是最终框架在Xcode GUI中作为嵌入式框架(Xcode 9.2,我个人更喜欢可视化面包屑痕迹;-))的外部框架的设置:
Apple是否故意使运行时崩溃,以某种方式告诉开发人员您不能在iOS开发中将非Apple框架用作简单链接框架的问题?最好将其显示为我认为会发生的构建错误……并带有一个“移动它”按钮。
嵌入式二进制文件的使用使最终用户不必添加独立于您的应用程序的框架(或由安装程序完成)。对于iPhone(iOS),这是不可能的,但是在macOS上,这是可能的,但是很快就会变得混乱。
对于最终用户而言,只需拖放一个应用程序以将其安装在macOS上会更好,这是嵌入式成为优势的地方。嵌入还避免了要管理框架的外部版本的经典“ DLL冲突”。(磁盘空间便宜,我客户的时间很宝贵)。
终于解决了!
对我有用的是使框架“可选”,而不是“必需”。
希望有帮助!
1)继续执行,以查看调试器中是否显示任何消息,例如“ MyFramework.framework”。如果是这种情况,请按照以下讨论进行操作:未加载OS X Framework库:“未找到映像” 对我来说,此答案有效:https : //stackoverflow.com/a/44796734/4060763
2)确保您已通过“嵌入的二进制文件”部分添加了二进制文件。
3)确保在“构建阶段”部分中启用了框架签名。
4)确保嵌入式框架不是符号链接。
5)您可以将链接的框架设为可选,而不是在“使用库链接二进制”阶段中将其设为必需。这将告诉iOS在启动期间不要寻找这些框架。但是无论如何,您都需要修复错误才能使用这些框架!
6)检查所有info.plist条目是否正确。就我而言,我使用的是iOS的Mac info.plist文件。它正在寻找iOS项目中不存在的一些xib文件。
7)进行任何此类更改后,请进行清洁和构建。这是必需的,因为xcode不会复制/更改这些文件(如果已存在)。
8)从iPad上删除该应用程序,然后安装。与7相同的原因。
Guard Malloc
,是正确的。有人知道为什么它可以解决崩溃问题吗?
为了回答最初的问题“我该怎么做才能获得有关该问题的更多信息?”,此Apple论坛线程提供了一个非常简单的提示:只需在XCode外部运行崩溃的应用程序即可(即,从XCode停止它,然后在您的XCode上手动运行它)设备)。这将产生一个崩溃日志,其中包含有关所发生事件的更多详细信息。然后,您可以从XCode窗口菜单/设备和模拟器->查看设备日志中查看此日志。
我遇到了Xcode 11.3和macOS Catalina 10.15.2的相同问题。该应用程序在设备上运行良好,但在模拟器上却无法运行。看来模拟器有问题,解决方法是禁用Thread Sanitizer。
请参阅:https://forums.developer.apple.com/message/397978#397978
希望这可以帮助。
在将Xcode更新到v10.2.1并迅速更新到v5.0之后,如果使用的是迦太基+ RxSwift,那么新的RxSwift就会遇到这种情况RxRelay.framework
。您应该转到/ Carthage / Build目录,找到该框架并将其拖入项目。别忘了也将它添加到您的carthage copy-frameworks
脚本中:
$(SRCROOT)/Carthage/Build/iOS/RxRelay.framework
要添加到遇到此错误的一长串列表中,当我在XCode12.2 Beta 2上部署到运行MacOS 10.15.5的Mac且部署目标设置为MacOS 11.0时,就会发生此错误。发生这种情况是因为我在添加SideBar时尝试了Mac Catalyst教程应用程序。将目标切换到MacOS 10.15.5可消除该错误并正确启动了该应用程序。
有时,当您使用只能从目标版本的更高iOS版本访问的系统框架时,会发生这种情况。可以通过将此链接的框架标记为可选来解决此问题。
例如,针对iOS 11且正在使用AuthenticationServices for iOS 12自动填充功能的项目将在iOS 11所述的方式下崩溃。
实际上,我遇到了11.3.1的问题,并且如上所述已经关闭了Thread Sanitizer。就我而言,我曾经在我的Application文件夹中使用过不同的xCode版本,
/Applications/xcode11.3.1/Xcode.app
/Applications/xcode11.3/Xcode.app
/Applications/xcode10.1/Xcode.app
和
/Applications/Xcode.app - was 11.2
我花了2天的时间才能了解构建系统默认情况下会在/Applications/Xcode.app上显示。因此,将11.3.1引入/Applications/Xcode.app最终可以解决问题
我只有在真实设备(iPhone SE)上运行时才遇到该问题。在模拟器上的项目按预期工作。
我确实从这个线程以及从这里尝试了所有修复程序:未加载OS X Framework库:“未找到图像” 这些都不对我有用。
对我来说,重新启动iPhone后就解决了问题(原文如此!)。
我做了:
终于成功了。:)
如果其他所有解决方案均失败,请不要忘记尝试一下。
我按“ pod install”命令对它进行了排序。