एक साथ बाधाओं को संतुष्ट करने में असमर्थ, बाधा को तोड़कर पुनर्प्राप्त करने का प्रयास करेगा


145

नीचे डिबग क्षेत्र में मुझे प्राप्त त्रुटि संदेश है। यह ठीक चलता है और कुछ भी गलत नहीं है सिवाय इसके कि मुझे यह त्रुटि मिले। क्या इससे ऐप को स्वीकार करने वाले सेब को रोका जा सकेगा? मैं इसे कैसे ठीक करूं?

2012-07-26 01:58:18.621 Rolo[33597:11303] 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. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) 
(
    "<NSAutoresizingMaskLayoutConstraint:0x887d630 h=--& v=--& V:[UIButtonLabel:0x886ed80(19)]>",
    "<NSAutoresizingMaskLayoutConstraint:0x887d5f0 h=--& v=--& UIButtonLabel:0x886ed80.midY == + 37.5>",
    "<NSAutoresizingMaskLayoutConstraint:0x887b4b0 h=--& v=--& V:[UIButtonLabel:0x72bb9b0(19)]>",
    "<NSAutoresizingMaskLayoutConstraint:0x887b470 h=--& v=--& UIButtonLabel:0x72bb9b0.midY == - 0.5>",
    "<NSLayoutConstraint:0x72bf860 V:[UILabel:0x72bf7c0(17)]>",
    "<NSLayoutConstraint:0x72c2430 UILabel:0x72bfad0.top == UILabel:0x72bf7c0.top>",
    "<NSLayoutConstraint:0x72c2370 UILabel:0x72c0270.top == UILabel:0x72bfad0.top>",
    "<NSLayoutConstraint:0x72c22b0 V:[UILabel:0x72bf7c0]-(NSSpace(8))-[UIButton:0x886efe0]>",
    "<NSLayoutConstraint:0x72c15b0 V:[UILabel:0x72c0270]-(NSSpace(8))-[UIRoundedRectButton:0x72bbc10]>",
    "<NSLayoutConstraint:0x72c1570 UIRoundedRectButton:0x72bbc10.baseline == UIRoundedRectButton:0x7571170.baseline>",
    "<NSLayoutConstraint:0x72c21f0 UIRoundedRectButton:0x7571170.top == UIButton:0x886efe0.top>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x72bf860 V:[UILabel:0x72bf7c0(17)]>

Break on objc_exception_throw to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.

1
यह त्रुटि केवल Xcode 4.5 में होगी, इसलिए आप इसे वैसे भी App Store में जमा नहीं कर सकते (जब तक कि यह जारी न हो जाए)
borrrden

तो क्या कुछ गलत नहीं है? और क्या ऐप स्टोर में जमा करने में सक्षम होने के लिए xcode के दूसरे संस्करण का उपयोग करना संभव होगा?
जॉनी कॉक्स

1
हां, कुछ गड़बड़ है, लेकिन यह अप्रासंगिक है क्योंकि इसे iOS की एक विशेषता के साथ करना है जो अभी तक सार्वजनिककोड संस्करणों में उपलब्ध नहीं है। यदि यह 4.4 के साथ संकलित करता है, तो आप इसे उस संस्करण का उपयोग करके जारी कर सकते हैं (यह आज जारी किया गया था)।
बोरनडेन

मुझे यह त्रुटि संदेश Xcode 4.4 में OS X ऐप्स के लिए मिला है। मैं इसे नहीं समझता।
स्टीव मैकलियोड

@ Bartłomiej Semańczyk आप किसी भी मौके से कमरे में शामिल हो सकते हैं: chat.stackoverflow.com/rooms/92522/autolayout-and-ios ? क्षमा करें, यह यादृच्छिक है लेकिन कुछ ऑटो लेआउट से संबंधित आपकी सलाह की सराहना करेंगे, धन्यवाद!
१५

जवाबों:


275

मैं डिबग करने की सलाह दूंगा और पाया जाएगा कि कौन सी बाधा है "जो आप नहीं चाहते हैं" । मान लीजिए कि आपके पास निम्नलिखित समस्या है:

यहाँ छवि विवरण दर्ज करें

हमेशा समस्या यह है कि निम्नलिखित बाधाओं और दृश्यों का पता कैसे लगाया जाए।

ऐसा करने के दो उपाय हैं:

  1. DEBUG VIDE HIERARCHY (इस तरह अनुशंसा न करें)

चूंकि आप जानते हैं कि अप्रत्याशित बाधाओं (PBOUserWorkDayHeaderView) को खोजने के लिए यह काफी अच्छी तरह से करने का एक तरीका है। आओ UIViewऔर NSLayoutConstraintलाल आयतों में खोजो । चूँकि हम उनकी आईडी को मेमोरी में जानते हैं, यह काफी आसान है।

  • डीबग दृश्य पदानुक्रम का उपयोग करके एप्लिकेशन रोकें :

यहाँ छवि विवरण दर्ज करें

  • उचित UIView खोजें:

यहाँ छवि विवरण दर्ज करें

  • अगले NSLayoutConstraint को ढूंढना है जिसकी हम देखभाल करते हैं:

यहाँ छवि विवरण दर्ज करें

जैसा कि आप देख सकते हैं, मेमोरी पॉइंटर्स समान हैं। इसलिए हमें पता है कि अभी क्या चल रहा है। इसके अतिरिक्त आप NSLayoutConstraintपदानुक्रम को देख सकते हैं । चूंकि यह व्यू में चयनित है, इसलिए इसे नेविगेटर में भी चुना गया है।

यहाँ छवि विवरण दर्ज करें

यदि आपको आवश्यकता है तो आप इसे एड्रेस पॉइंटर का उपयोग करके कंसोल पर भी प्रिंट कर सकते हैं:

(lldb) po 0x17dce920
<UIView: 0x17dce920; frame = (10 30; 300 24.5); autoresize = RM+BM; layer = <CALayer: 0x17dce9b0>>

आप हर बाधा के लिए ऐसा कर सकते हैं डिबगर आपको इंगित करेगा :-) अब आप तय करते हैं कि इसके साथ क्या करना है।

  1. प्रिंट आईटी बेहतर (मैं वास्तव में इस तरह की सलाह देता हूं, यह एक्सकोड 7 का है)

    • आपके दृष्टिकोण में प्रत्येक बाधा के लिए विशिष्ट पहचानकर्ता सेट करें:

यहाँ छवि विवरण दर्ज करें

  • इसके लिए सरल एक्सटेंशन बनाएं NSLayoutConstraint:

स्विफ्ट :

extension NSLayoutConstraint {

    override public var description: String {
        let id = identifier ?? ""
        return "id: \(id), constant: \(constant)" //you may print whatever you want here
    }
}

उद्देश्य सी

@interface NSLayoutConstraint (Description)

@end

@implementation NSLayoutConstraint (Description)

-(NSString *)description {
    return [NSString stringWithFormat:@"id: %@, constant: %f", self.identifier, self.constant];
}

@end
  • इसे एक बार फिर से बनाएं, और अब आपके लिए अधिक पठनीय आउटपुट है:

यहाँ छवि विवरण दर्ज करें

  • एक बार जब आप अपने idआप को मिल गया आप इसे अपने खोज नेविगेटर में सरल टैप कर सकते हैं :

यहाँ छवि विवरण दर्ज करें

  • और जल्दी से इसे खोजो:

यहाँ छवि विवरण दर्ज करें

सरल फिक्स कैसे करें?

  • परिवर्तित करने का प्रयास प्राथमिकता करने के लिए 999टूटी हुई बाधा के लिए।

यह सिर्फ मेरी बग तय ... बहुत बहुत धन्यवाद। आप इस उद्देश्य के लिए कैसे करेंगे c? एक श्रेणी जोड़ें?
cheznead

समाधान के लिए Thx, लेकिन क्या मैं उद्देश्य c में विस्तार का उपयोग कर सकता हूं?
dev.nikolaz

क्या वह पहचानकर्ता एक्सेसिबिलिटी के रूप में समान है जो प्रोग्रामर के यूएवीवाई पर उपलब्ध है। यदि नहीं, तो पहचानकर्ता को प्रोग्रामेटिक रूप से कैसे सेट किया जा सकता है?
अरुणाभ दास

@ दास नहीं, यह समान नहीं है। इस उत्तर को
बार्टोमोइज सेमेकोज़ी

3
मुझे दूसरा तरीका पसंद है और मुझे लगता है कि टूटी हुई बाधा को दूर करने का सबसे अच्छा तरीका है
Antarix

108

आपको जो समस्या हो रही है वह है NSAutoresizingMaskLayoutConstraints वहाँ नहीं होना चाहिए। यह स्प्रिंग्स और स्ट्रट्स की पुरानी प्रणाली है। इससे छुटकारा पाने के लिए, प्रत्येक दृश्य पर इस पद्धति को चलाएं जिसे आप विवश करना चाहते हैं:

[view setTranslatesAutoresizingMaskIntoConstraints:NO];

5
सेट करने के दौरान किसी दृश्य के दिखाई न देने के कुछ कारण क्या हैं? कोई सेट नहीं करता है TranslatesAutoresizingMaskIntoConstraints NO?
19

1
एक उदाहरण के रूप में, मैं एक SSBadgeView (UIView) बनाते हैं, एक छवि दृश्य SSBadgeView में जोड़ते हैं, फिर एक UIReuseableView में एक सबव्यू के रूप में SSBAdgeView जोड़ते हैं। मैं SSBadgeView और setTranslatesAutoresizingMaskIntoConstraints: SSBadgeView पर कोई बाधा नहीं जोड़ता। SSBadgeView की छवि सब-व्यू को अपेक्षित रूप से निर्धारित किया गया है, लेकिन छवि का SSBadgeView माता-पिता कहीं नहीं देखा जा सकता है।
20

1
आप अपने उप उप विचारों में TranslatesAutoresizingMaskIntoConstraints को निष्क्रिय करना भूल गए
Softlion

यह क्या हो जब मैं इस गुण सेट है, drive.google.com/file/d/0BxuYs8WHXCF7bV9ndHFrQ0dMYVE/... मैं इस कोड लाइन का उपयोग कर रहा: [self.contentView setTranslatesAutoresizingMaskIntoConstraints: NO]; के लिए (UIView * self.contentView.subviews में देखें) {[view setTranslatesAutoresizingMaskIntoConstraints: NO]; } पहले ऐसा दिखता था: drive.google.com/file/d/0BxuYs8WHXCF7OWlvZGQwN3FlbzQ/… हालांकि इसने काम किया, लेकिन मुझे कहना होगा।
9 सितंबर को rptwsthi

28

सावधान रहें , कि आप एक ही दिशा और प्रकार में एक से अधिक बाधाओं का उपयोग नहीं करते हैं।

उदाहरण के लिए: अनुगामी के लिए लंबवत अवरोध = 15 और दूसरा एक है> = 10।

कभी-कभी, Xcode कुछ बाधाओं का निर्माण करता है जिन्हें आप नोटिस नहीं करते हैं । आपको अनावश्यक बाधाओं से छुटकारा पाना होगा और लॉग चेतावनी निश्चित रूप से गायब हो जाएगी।

यहाँ छवि विवरण दर्ज करें

अतिरिक्त, आप लॉग से सीधे कुछ निश्चित कारणों को पढ़ और पता लगा सकते हैं :

NSLayoutConstraint: 0xa338390 V: | - (15) - [UILabel: 0xa331260] (नाम: '|': 'UILabel: 0xa330270)>

यह हम UILabel बाधा में समस्या के रूप में पढ़ सकते हैं, यह 15 बार लंबे ऊर्ध्वाधर बाधा का नेतृत्व कर रहा है।

NSLayoutConstraint: 0x859ab20 H :-( 13) - | [[UIView: 0x85a8fb0] ...

यह क्षैतिज अवरोध आदि का अनुगामी होगा।


6

मेरे पास इन अपवादों की काफी संख्या थी, मुझे उन्हें हल करने का सबसे तेज़ और सबसे आसान तरीका अपवादों में अद्वितीय मूल्यों को खोजना था जो मैंने तब स्टोरीबोर्ड स्रोत कोड में खोजा था। इससे मुझे वास्तविक दृश्य खोजने में मदद मिली और समस्या पैदा हुई (मैं सभी विचारों पर सार्थक उपयोगकर्तालैबल्स का उपयोग करता हूं, जिससे बाधाओं और विचारों को ट्रैक करना बहुत आसान हो जाता है ...)

इसलिए, उपरोक्त अपवादों का उपयोग करके मैं स्टोरीकोड को "स्रोत कोड" के रूप में xcode (या किसी अन्य संपादक) में खोलूंगा और कुछ ऐसा खोजूंगा, जिसे मैं पा सकता हूं ...

<NSLayoutConstraint:0x72bf860 V:[UILabel:0x72bf7c0(17)]> 

.. यह एक UILabel पर (17) के मान के साथ एक ऊर्ध्वाधर (V) बाधा की तरह दिखता है।

अपवादों को देखकर मुझे भी लगता है

<NSLayoutConstraint:0x72c22b0 V:[UILabel:0x72bf7c0]-(NSSpace(8))-[UIButton:0x886efe0]>

जो दिखता है कि UILabel (0x72bf7c0) कुछ ऊर्ध्वाधर रिक्ति (8) के साथ एक UIButton (0x886efe0) के करीब है।

उम्मीद है कि मेरे लिए स्टोरीबोर्ड स्रोत कोड में विशिष्ट विचारों को खोजने के लिए पर्याप्त होगा (संभवतः "17" के लिए पाठ को शुरू में खोजकर), या कम से कम कुछ संभावित उम्मीदवारों को। वहां से मुझे वास्तव में यह पता लगाने में सक्षम होना चाहिए कि ये स्टोरीबोर्ड में कौन से दृश्य हैं जो समस्या को पहचानने में बहुत आसान बना देगा ("डुप्लिकेट" के लिए देखो) कि आकार की बाधाओं के साथ टकराव या पिनिंग करें।


"मैं सार्थक यूजरलैबल्स का उपयोग करता हूं" - इस संदर्भ में यूजरलैबल्स क्या हैं? (जैसे कि आप उन्हें कैसे सेट करते हैं)
स्ट्रिप्स

पहचान निरीक्षक के दस्तावेज़ अनुभाग में एक फ़ील्ड "लेबल" है .. जो कहानी बोर्ड कोड कोड में "userLabel" मान में अनुवादित होता है।
सी जेम्स

आप उन्हें बाएं हाथ "अवलोकन" पैनल में एक चयनित दृश्य पर क्लिक करके भी सेट कर सकते हैं (खोजक में एक फ़ाइल का नाम बदलने जैसा)
सी जेम्स

1
शायद सबसे अच्छी बात मैंने खूंखार हल करने के संबंध में पढ़ा है "एक साथ बाधाओं को संतुष्ट करने में असमर्थ।" दर्द। मैंने पाया कि इस बिंदु पर दिखाई गई वस्तु "बाधा को तोड़कर उबरने का प्रयास करेगी <NSLayoutConstraint:" आमतौर पर अपराधी है, और जैसा कि सी जेम्स कहते हैं, संभवतः एक ऊंचाई या चौड़ाई की बाधा जो पिनिंग बाधाओं के साथ संघर्ष करती है। मुझे ऊंचाई को हटाना कठिन लगा, लेकिन जैसे-जैसे बाधाएँ सही होती गईं, ऊँचाई बाकी बाधाओं से दूर हो सकती थी। एक ऊँचाई की सीमा को जोड़ने से बस ऑटो लेआउट भ्रमित होता है, इसलिए अब मैं यही देख रहा हूँ।
लैटीनिटकोडर

6

मुझे यह पता लगाने में कठिन समय था कि इस त्रुटि के कारण कौन-सी बाधाएँ पैदा हो रही हैं। यहाँ यह करने के लिए एक सरल तरीका है।

मैं Xcode 6.1.1 का उपयोग कर रहा हूं

  1. सभी UILabels, UIImages आदि का चयन करने के लिए "कमांड + ए"।
  2. संपादक -> पिन> (चयन करें ...) पर क्लिक करें
  3. फिर से संपादक पर क्लिक करें -> ऑटो लेआउट मुद्दों को हल करें -> अनुपलब्ध बाधाओं को जोड़ें या सुझावित बाधाओं को रीसेट करें। यह आपके मामले पर निर्भर करता है।

5

मेरे पास यह समस्या थी क्योंकि मेरी .xibफाइलें ऑटोलेयूट का उपयोग कर रही थीं।

फ़ाइल इंस्पेक्टर में, पहले टैब। "ऑटोलॉयआउट का उपयोग करें" को अनटैक करने से समस्या हल हो गई।

autolayout फ़ाइल निरीक्षक


इसलिए मैंने ऐसा किया और इसने समस्या को ठीक कर दिया, लेकिन 'UIImageView' मेरे पास स्क्रीन के ऊपर था (जिसे मैंने नेविगेशन बार की तरह इस्तेमाल किया) स्क्रीन के निचले हिस्से में चला गया। क्या आप जानते हैं कि ऐसा क्यों हुआ?
डाइटबाकॉन

1
Autolayout वस्तुओं के लेआउट को नियंत्रित करने के लिए बाधाओं का उपयोग करता है । चूँकि आपने सिर्फ ऑटोलैयट को निष्क्रिय कर दिया था, इसलिए ये बाधाएँ शायद गायब हो गई हैं और इसलिए आपकी स्थिति UIImageViewबदल गई है। आपको इस स्थिति को फिर से, प्रोग्रामेटिक रूप से या इंटरफ़ेस बिल्डर के माध्यम से सेट करना होगा।
स्टीफन ब्रुकर्ट

5

यहाँ मेरा अनुभव और समाधान है। मैंने कोड नहीं छुआ

  1. दृश्य चुनें (UILabel, UIImage आदि)
  2. संपादक> पिन> (चयन करें ...) का पर्यवेक्षण करें
  3. संपादक> ऑटो लेआउट मुद्दों को हल करें> लापता बाधाओं को जोड़ें

4

स्विफ्ट इस कोड का उपयोग करें

view.translatesAutoresizingMaskIntoConstraints = false

1
यह वस्तुनिष्ठ-सी-टैग प्रश्न के लिए एक त्वरित उत्तर है।
तोबी नारी

2
@SmokeDisprane वैसे भी मैंने उल्लेख किया है कि यह एक स्विफ्ट कोड है। और यह मेरे लिए काम किया है। तेजी से / उद्देश्य यह आम कोको स्पर्श एसडीके है।
अरुण कुमार पी।

2

मैंने प्रत्येक खोज क्वेरी से SO प्रश्न और उत्तर दिए हैं। लेकिन वे सभी विशिष्ट एक से संबंधित हैं।

बुनियादी तौर पर, मेरा मतलब है कि इससे पहले कि आप एक प्रारूप लिखने जा रहे हैं (एक सरल हो सकता है) यह आपको चेतावनी देगा।

आईओएस 8.0 से डिफ़ॉल्ट रूप से आकार वर्ग हैं। यदि आप आकार की कक्षाओं को अक्षम करते हैं, तब भी इसमें कुछ ऑटो लेआउट की कमी होगी।

तो अगर आप VFL का उपयोग करके कोड के माध्यम से बाधाएं निर्धारित करने की योजना बना रहे हैं। फिर आपको नीचे की एक पंक्ति का ध्यान रखना चाहिए।

// Remove constraints if any.
[self.view removeConstraints:self.view.constraints];

मैंने SO में बहुत खोज की थी, लेकिन समाधान Apple नमूना कोड में था

इसलिए आपको नया जोड़ने की योजना बनाने से पहले डिफ़ॉल्ट बाधाओं को दूर करना होगा।


1

मेरे लिए इस समस्या का मुख्य कारण यह है कि मैं सही का निशान करना भूल गया था AutoLayoutमें Xibसंपादक। वास्तव में, मैंने XIBकोड में बहुत सारे समायोजन किए ।



1

पूर्वगामी उत्तर में से कोई भी मेरी स्थिति में सहायक नहीं है। मैं XCode 10.1 चला रहा हूं और "iPad (5 वीं पीढ़ी)" के लिए सिम्युलेटर पर अपने ऐप का परीक्षण कर रहा हूं। सिम्युलेटर iOS 12.1 चला रहा है।

मुझे अपने स्टोरीबोर्ड में एक सरल रूट दृश्य मिला है, जिसमें दो UITextField उप-साक्षात्कार हैं। स्टोरीबोर्ड में किसी भी तरह की अड़चनें नहीं हैं। और मेरे पास ऐप या स्टोरीबोर्ड में कोई UIButtonBarView ऑब्जेक्ट नहीं है।

जब ऐप लॉन्च होता है और रूट व्यू आउट करता है, तो कोई संदेश नहीं मिलता है। जब कोई भी नकली डिवाइस घुमाया जाए।

लेकिन सिम्युलेटर में, जिस क्षण मैं टेक्स्ट फ़ील्ड में से एक पर क्लिक करता हूं, कीबोर्ड विस्तार स्क्रीन के नीचे से उठता है, हालांकि पूर्ण कीबोर्ड नहीं, जो सिम्युलेटर में कभी भी दिखाई नहीं देता है। लेकिन टर्मिनल पर निम्नलिखित प्रिंट आउट है:

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. 
(Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) 
(
"<NSAutoresizingMaskLayoutConstraint:0x6000034e7700 h=--& v=--& UIKeyboardAssistantBar:0x7f9c7d714af0.height == 0   (active)>",
"<NSLayoutConstraint:0x6000034aba20 V:|-(0)-[_UIUCBKBSelectionBackground:0x7f9c7d51ec70]   (active, names: '|':_UIButtonBarButton:0x7f9c7d51de40 )>",
"<NSLayoutConstraint:0x6000034aba70 _UIUCBKBSelectionBackground:0x7f9c7d51ec70.bottom == _UIButtonBarButton:0x7f9c7d51de40.bottom   (active)>",
"<NSLayoutConstraint:0x6000034fb3e0 V:|-(0)-[_UIButtonBarStackView:0x7f9c7d715880]   (active, names: '|':UIKeyboardAssistantBar:0x7f9c7d714af0 )>",
"<NSLayoutConstraint:0x6000034fb750 V:[_UIButtonBarStackView:0x7f9c7d715880]-(0)-|   (active, names: '|':UIKeyboardAssistantBar:0x7f9c7d714af0 )>",
"<NSLayoutConstraint:0x6000034abc00 'UIButtonBar.maximumAlignmentSize' _UIButtonBarButton:0x7f9c7d51de40.height == UILayoutGuide:0x600002ef4e00'UIViewLayoutMarginsGuide'.height   (active)>",
"<NSLayoutConstraint:0x6000034d7cf0 'UIView-bottomMargin-guide-constraint' V:[UILayoutGuide:0x600002ef4e00'UIViewLayoutMarginsGuide']-(9)-|   (active, names: '|':_UIButtonBarStackView:0x7f9c7d715880 )>",
"<NSLayoutConstraint:0x6000034d7c50 'UIView-topMargin-guide-constraint' V:|-(10)-[UILayoutGuide:0x600002ef4e00'UIViewLayoutMarginsGuide']   (active, names: '|':_UIButtonBarStackView:0x7f9c7d715880 )>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x6000034aba70 _UIUCBKBSelectionBackground:0x7f9c7d51ec70.bottom == _UIButtonBarButton:0x7f9c7d51de40.bottom   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.

यह निश्चित रूप से मुझे प्रतीत होता है कि यह सब मेरे ऐप में कुछ भी नहीं करना है, और एप्पल के अपने कीबोर्ड व्यू को बनाने के लिए सब कुछ करना है, यहां तक ​​कि मेरे छोटे विस्तार को भी इसके साथ जोड़ा जाना घोषित किया गया है।

तो सवाल यह है कि, क्या ऐसा कुछ है जिसे मैं एक ऐप डेवलपर के रूप में करने के लिए जिम्मेदार हूं (अनुमान के अनुसार यह भाग लेने लायक सामान का एक समूह है) या यह सिर्फ Apple की अपनी समस्या / बग है?

FWIW, एक नए iPad मॉडल, जैसे iPad Pro 12.9-inch (3rd जनरेशन) का अनुकरण करते समय यह बाधा समस्या संदेश नहीं होता है। लेकिन iPad Pro 9.7-इंच का अनुकरण करते समय संदेश दिखाई देता है। "सभी दावा करते हैं कि वे iOS 12.1 चला रहे हैं।


1

मुझे यह त्रुटि मिल रही है, लेकिन केवल एक विशिष्ट दृष्टिकोण पर, जब मैं पहले टेक्स्टफील्ड को छूता हूं, और फिर अगले टेक्स्टफील्ड को नीचे करता हूं।

IOS 13.4 के लिए SwiftUI में लिख रहा हूं

 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:0x2809b6760 'assistantHeight' TUISystemInputAssistantView:0x105710da0.height == 44   (active)>",
        "<NSLayoutConstraint:0x2809ccff0 'assistantView.bottom' TUISystemInputAssistantView:0x105710da0.bottom == _UIKBCompatInputView:0x10525ae10.top   (active)>",
        "<NSLayoutConstraint:0x2809cccd0 'assistantView.top' V:|-(0)-[TUISystemInputAssistantView:0x105710da0]   (active, names: '|':UIInputSetHostView:0x105215010 )>",
        "<NSLayoutConstraint:0x2809ca300 'inputView.top' V:|-(0)-[_UIKBCompatInputView:0x10525ae10]   (active, names: '|':UIInputSetHostView:0x105215010 )>"
    )

    Will attempt to recover by breaking constraint 
    <NSLayoutConstraint:0x2809ccff0 'assistantView.bottom' TUISystemInputAssistantView:0x105710da0.bottom == _UIKBCompatInputView:0x10525ae10.top   (active)>

    Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
    The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.

0

मैं भी लॉग में बाधाओं को तोड़ने का एक ही मुद्दा मिल रहा था, xib में देखने के लिए। मैंने ऊपर सूचीबद्ध सब कुछ लगभग कोशिश की और मेरे लिए कुछ भी काम नहीं कर रहा था। फिर मैंने ऊंचाई की कसौटी को बदलने की कोशिश की जो लॉग में टूट रही थी (xib पर अवरोधों के लिए एक पहचानकर्ताओं को जोड़कर पुष्टि की गई) यहां छवि विवरण दर्ज करें


-1

देखने के लिए एक बात (कम से कम इसने मुझे उलझा दिया) यह था कि मैं गलत दृष्टिकोण से बाधा को हटा रहा था। मैं जिस अड़चन को दूर करने की कोशिश कर रहा था, वह मेरे विचार की कोई बाल बाधा नहीं थी, इसलिए जब मैंने किया

myView.removeConstraint(theConstraint)

यह वास्तव में कुछ भी नहीं हटा रहा था क्योंकि मुझे कॉल करने की आवश्यकता थी

myView.superView.removeConstraint(theConstraint)

चूंकि बाधा तकनीकी रूप से मेरे दृष्टिकोण की बाधा थी।


-4

तेज ४

मैं सिर्फ viewDidLoad में इस लाइन को जोड़ता हूं और मेरे साथ ठीक काम करता हूं।

view.removeConstraints(view.constraints)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.