我正在寻找一种在调试iOS应用程序时可以找到所有与UI相关的约束问题的方法。我最近在生产应用程序中遇到了一个问题,即UI约束失败,仅在iPhone 8+上引起了问题。我在测试时没有意识到这一点,即使该约束在所有设备上均失败,但在我的测试设备上仍然有效。
是否存在可以用于开发的严格模式,如果存在任何约束问题,该模式会使应用程序在任何设备上崩溃?
答案 0 :(得分:3)
任何无法满足的约束都会在控制台中报告。如果您的控制台噪音太大,那是一个单独的问题,但是如果您真的想打耳光,可以设置一个符号断点:
击中断点比崩溃更有用,因为它使您有机会检查控制台以获取有关错误约束的详细信息。
答案 1 :(得分:0)
没有严格的模式可以做到。考虑到现有设备的大小,分辨率等,可以在运行时完成约束的计算。但是,在发布到生产环境之前,您可以在每个大小类中测试一次您的应用。例如:iphone 5,iphone 6,iphone 10、8plus。
另外,在运行应用程序时,检查日志并搜索“ NSLayoutConstraint”。如果没有任何约束,当您搜索该字符串时,您会在日志中看到这些约束。