我将Mac催化剂应用程序分发给测试人员时遇到问题,尽管它可以在我的计算机上正常运行,但是在其他计算机上启动后却立即崩溃,而没有任何人类可理解的崩溃报告。
此外,当我们使用Xcode在该Mac上运行它时,它可以正常工作,并在将其运送到我的Mac时崩溃。 在这里,我所做的是-我正在使用Xcode 11.3.1,该应用程序已自动签名,在发货前我已对它进行了公证。
有人知道它为什么崩溃吗?
// get the element position
function getOffset (el) {
var _x = 0;
var _y = 0;
while (el && !isNaN( el.offsetLeft) && !isNaN(el.offsetTop)) {
_x += el.offsetLeft - el.scrollLeft;
_y += el.offsetTop - el.scrollTop;
el = el.offsetParent;
}
return { top: _y, left: _x };
}
// validate the form
function validateForm () {
var forms = document.getElementsByClassName('needs-validation')
var validation = Array.prototype.filter.call(forms, function(form) {
if (form.checkValidity() === false) {
event.preventDefault()
event.stopPropagation()
// get the "first" invalid field
var errorElements = document.querySelectorAll('.form-control:invalid,.custom-select:invalid,.custom-control-input:invalid')
// scroll the user to the invalid field
window.scrollTo(0, getOffset(errorElements[0]).top - 30)
}
form.classList.add('was-validated')
})
}
答案 0 :(得分:1)
好的,经过长时间的研究,我发现了这个问题。我们在应用程序中使用了自定义字体,导致崩溃的原因似乎是苹果的bug,因为这些字体已正确链接并已添加到Info.plist中。同样在安装了字体的计算机上,应用程序也不会崩溃。将字体更改为苹果提供的类似字体后,该应用程序可以完美运行。