簡體   English   中英

iOS,Swift:系統日志中“無法同時滿足約束條件”

[英]iOS, Swift: “Unable to simultaneously satisfy constraints” in syslog

我的第一個iOS應用程序因啟動時崩潰而被App Review團隊拒絕。 我無法重現此崩潰。 該應用程序可以在我的物理iPad Mini和所有Xcode模擬器上正常運行。 另外,相同的構建和存檔也通過了TestFlight內部測試。 到目前為止,我還無法表示他們發送給我的崩潰日志 但是,我確實在系統日志中找到了這個:

Aug  7 17:04:44 Michaels-MacBook-Pro-3 SpringBoard[1333]: Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want. 
    Try this: 
        (1) look at each constraint and try to figure out which you don't expect; 
        (2) find the code that added the unwanted constraint or constraints and fix it. 
(
    "<NSLayoutConstraint:0x7fccfccd0300 UILabel:0x7fccfccc8510' '.leading == SPUISearchTableHeaderView:0x7fccfccc59f0.leadingMargin>",
    "<NSLayoutConstraint:0x7fccfccd0f80 H:[UILabel:0x7fccfccc8510' ']-(NSSpace(8))-[UIButton:0x7fccfcccb710'Show More']>",
    "<NSLayoutConstraint:0x7fccfccd0fd0 SPUISearchTableHeaderView:0x7fccfccc59f0.trailingMargin == UIButton:0x7fccfcccb710'Show More'.trailing>",
    "<NSLayoutConstraint:0x7fccfccc8880 'UIView-Encapsulated-Layout-Width' H:[SPUISearchTableHeaderView:0x7fccfccc59f0(0)]>"
)

看來,這似乎與表格視圖,標簽和按鈕有關。 我的應用程序基於標准的Master-Detail項目。 因此,其中只有一個表視圖,即主視圖,並且在該視圖中,只有一個標簽位於原型單元中。 有一次,我在原型單元中嘗試了一個“顯示”按鈕,我懷疑上面第二到最后一行的“ Show More ”可能會產生揮之不去的效果。

SPUISearchTableHeaderView搜索,我在github中找到了這個 我注意到它確實增加了一些約束。 這些約束實際上包含文本moreButton

因此,我感覺自己可能正處於崩潰原因的軌道上:我認為這是以編程方式添加的一些約束,可能是我在實驗中使用披露按鈕遺留下來的約束。 但是我完全不確定如何從這里開始。 標簽上沒有明確的限制(請參見下面的屏幕截圖),我認為從來沒有。 任何幫助將不勝感激! 屏幕截圖顯示標簽

根據康斯坦丁(Konstantin)的以下建議,我嘗試在標簽上添加約束,但是唯一可用的約束是水平居中和垂直居中。 其他則變灰。 (請參見下面的屏幕快照。)當我嘗試選擇水平居中時,底部的“添加約束”按鈕仍顯示為灰色,因此無法添加它!

在此處輸入圖片說明

那是因為您的width = 0。

UIView-Encapsulated-Layout-Width' H:[SPUISearchTableHeaderView:0x7fccfccc59f0(0)]

當您錯過“ Show More Button留下的一些標簽約束時,可能會發生

H:[UILabel:0x7fccfccc8510' ']-(NSSpace(8))-[UIButton:0x7fccfcccb710'Show More']>

驗證這些標簽是否有前置約束。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM