Bitte beachten Sie, dass diese Fehlermeldung ziemlich niedrig ist und daher aus verschiedenen Gründen in verschiedenen Szenarien auftritt. Wenn Sie ein Szenario haben, das in einer der folgenden Antworten nicht erwähnt wird, sollten Sie auch Ihre Situation hinzufügen. Dies könnte möglicherweise eine zentrale Antwort für verschiedene Situationen sein, die diese Fehlermeldung auslösen.
Bearbeiten 10.11.2015 Beachten Sie auch, dass ich meine eigene Antwort als Antwort markiert habe, aber das war, bevor jemand anderes gepostet hatte. Ich denke, keine sollte wirklich als Antwort markiert werden, denn wie wir jetzt unten gesehen haben ... hat dieser Fehler nicht nur eine Antwort, weil er so niedrig ist.
Ich renne
- iOS 9.0 Simulator
- XCode 7.0
Alles hat gestern gut funktioniert.
Heute, nach einer Reihe von Arbeiten an rotationsbezogenen Dingen, wurde dieser Fehler in meiner Konsolenausgabe angezeigt, als ich die App im Simulator ausführte und sie drehte.
_BSMachError: (os / kern) ungültige Fähigkeit (20)
_BSMachError: (os / kern) ungültiger Name (15)
- Ich habe meinen Build-Ordner gelöscht. - Ich habe den abgeleiteten Datenordner bereinigt. - Ich habe den Simulator zurückgesetzt.
Ich habe mit gearbeitet
UIViewController viewWillLayoutSubviews
UIViewController viewWillTransitionToSize:...
Ich habe auch verschiedene Einstellungen für das Zeichnen im Attributinspektor in IB überprüft.
Ich habe auch eine Dienstprogrammkategorie in UIView erstellt, in der ich eine Reihe von Methoden erstellt habe, mit denen ich CGRect
Ansichten Frames zuweisen kann.
quelle
MyFoodTracker
: PAntworten:
Basierend auf https://forums.developer.apple.com/thread/15683 :
Ändern Sie " Localization native Development Region " in "
info.plist
USA" anstelle von " USA"en
.Aktualisiert: Dann können Sie diese Änderungen zurücksetzen.
quelle
ja
, nichten
. Was soll ich machen? Stellen Sie es aufJapan
?Ich bin auch auf
_BSMachError
Konsolenfehler gestoßen, als ich über eineUIAlertController
Aktion eine tiefe Verknüpfung mit der Einstellungen-App unter iOS 9 hergestellt habe . A hatdispatch_async
mein Problem gelöst:quelle
Ok, ich habe es nicht vollständig festgehalten, aber das bringt Sie zu 99% dorthin. Ich verwende ein Kartensteuerelement eines Drittanbieters von ESRI, und etwas daran gefällt einer dieser Zeichnungseinstellungen im Attributinspektor nicht. Ich habe nicht jede Einstellung einzeln ausprobiert, um zu sehen, um welche Einstellung es sich handelt, aber als ich alle deaktiviert habe (im roten Feld), hat alles wie ein Zauber funktioniert, und ich habe aufgehört, die Fehlermeldung oben in der Konsole zu erhalten. Wenn ich Zeit habe, es auf die genaue Einstellung oder Kombination von Einstellungen festzulegen, werde ich die Antwort aktualisieren.
quelle
Es ist verrückt, aber für mich bestand die Lösung darin, alle Haltepunkte in der Datei zu entfernen, in der der Fehler aufgetreten ist.
Was die Ursache betrifft? Ich glaube, ich habe versehentlich eine Tastenkombination gedrückt, um einen Haltepunkt in der aktuellen Zeile zu erstellen. Da dies nicht beabsichtigt war, drückte ich erneut dieselbe Tastenkombination, um sie zu löschen.
Oh mein lieber XCode ...
quelle
Ich habe die gleichen Fehler bekommen ...
Ich habe openURL () von a aufgerufen
UIAlertAction
Die Ausführung des Blocks wird verschoben, bis die nächste Ausführungsschleife das Problem behoben hat ...
quelle
Bei der Bereitstellung neuer Daten wurde Folgendes festgestellt:
Der Fehler trat auf, wenn eine Schaltfläche zum Bereitstellen neuer Daten verwendet wurde. An
NSTimer
wurde verwendet, um Daten nach der Rückkehr von einerperformSegueWithIdentifier
Aktion zu aktualisieren und zu aktualisieren . Der Timer wurde aktiviert und sofort nach der Verwendung zur Rückkehrzeit ungültig gemacht. DieMSMachError
stoppten, als der Timer entfernt wurde und -(void)viewWillAppear:(BOOL)animated
und(void)viewDidAppear:(BOOL)animated
wurden verwendet, um die gleiche Funktion auszuführen. Dieser Fehler begann mit dem Upgrade auf Xcode 7.quelle
Ich habe dieses Problem behoben, indem ich den Wert des
Localization native development region
Schlüssels von seinem in Ihrem Projekt vorhandenen Standardwert aufUnited Kingdom
[oder eine bestimmte Region] geändert habe .en
info.plist
Project Navigator
info.plist
Datei im Ordner ProjectNameTests.Localization native development region key
in eine bestimmte Region, z. Großbritannienquelle
BSMachError
. Durch Umschalten der Region wirdUnited States
der Fehler behoben. Noch ein unerklärliches Xcode-Rätsel.Das gleiche Problem trat auch in einer NSOperation auf, die auf einem Hintergrundthread ausgeführt wurde, und ich bekam immer noch diesen Fehler, weil sich ein UIAlertController immer noch selbst entfernte, als eine andere UI-Transaktion versuchte, stattzufinden. Durch Ändern meines Codes wurde das Problem behoben.
Viele Leute wissen nichts über Aufschieben. Dadurch wird der aktuelle Bereich vervollständigt und anschließend ausgeführt. Ein bisschen ordentlich.
quelle
Ich hatte den gleichen Fehler ungültige Fähigkeit (20) & ungültiger Name (15). Ich habe die von anderen erwähnten Lösungen ausprobiert, wie zum Beispiel:
Aber keine dieser Lösungen hat mein Problem gelöst. Eigentlich habe ich versucht, ein Dokument freizugeben, aber das Generieren eines Dokuments würde einige Zeit in Anspruch nehmen und wollte dem Benutzer eine UIActivityIndicatorView anzeigen, bis das Dokument geladen ist.
Die Lösung für meinen Fehler war:
quelle
Das Ändern der Lokalisierungszeichenfolge von en in USA hat dies für mich behoben. Stellen Sie jedoch sicher, dass Sie nach dem Ändern von Info.plist bereinigen. Ich habe festgestellt, dass Updates nicht funktionieren, wenn Sie sie erst erstellen, nachdem Sie Plist-Änderungen vorgenommen haben.
quelle
In meinem Fall war es Little Snitch, es blockierte automatisch URLs.
quelle
Ich könnte den Fehler für mich reproduzieren: Wenn eine Änderung an einer der Ansichten in einer Ansicht vorgenommen wird, die ich bereits schließe (popViewControllerAnimated), wird der Fehler angezeigt.
Ich habe eine UINavigationButton-Aktion, die eine asynchrone Aufgabe (POSTRequest) erstellt. Bevor ich diese Anforderung ausführe, setze ich die benutzerdefinierte Ansicht dieser Schaltfläche auf eine Fortschrittsanzeige. Wenn ich vom asynchronen Aufruf zurückkomme, sende ich an den Hauptthread und setze die benutzerdefinierte Ansicht dieser Schaltfläche zurück. Danach schließe ich die Ansicht (popViewControllerAnimated).
Dies ist der RICHTIGE Code, bei dem der Fehler nicht auftritt:
Was den Fehler verursachte, war das Wechseln der Zeilen: Schließen der Ansicht und Setzen der benutzerdefinierten Ansicht auf Null:
quelle
Dieser Fehler trat auf, nachdem ich einige Beobachter hinzugefügt hatte:
Das Problem verschwand, als ich den Klassennamen anstelle von
self
:quelle
Ich hatte den gleichen Fehler und keiner der oben genannten Fehler traf auf mein Problem zu. Das Problem trat auf, als ich meinen Ansichts-Controller als Beobachter für eine Änderung der Geräteorientierung registrierte, sodass die Größe der Ansichten geändert und die Zeichnungen in der Ansicht entsprechend der neuen Größe der Ansicht erstellt werden konnten.
Ich hatte einen Ausgang für einen viewGraph, der eine Unterklasse von UIView war, in der ich einige Grafiken gezeichnet habe. Im Querformat ist der viewGraph größer als im Hochformat. Wenn das Gerät seine Ausrichtung ändert, muss der speedGraph neu gezeichnet werden.
Das Problem war, dass ich der speedGraph-Ansicht mehrere Unteransichten hinzugefügt habe, die Grafiken enthielten. Diese Unteransichten mussten in der speedGraph-Ansicht neu angelegt und dann neu gezeichnet werden. Nachdem das Gerät seine Ausrichtung geändert hatte, rief ich erneut viewDidAppear auf, um die speedGraph-Ansicht und alle Unteransichten neu zu gestalten und neu zu zeichnen. Das Aufrufen von setNeedsDisplay für speedGraph funktioniert nicht mit Orientierungsänderungen und Unteransichten in einer Ansicht.
Was habe ich falsch gemacht, wodurch der Fehler angezeigt wurde? In viewDidAppear rufe ich eine Methode auf, die einige Berechnungen durchführt und die Unteransichten zur speedGraph-Ansicht hinzufügt. Das Problem bestand darin, dass diese Unteransichten in der Methode erstellt und in dieser Methode zur speedGraph-Ansicht hinzugefügt wurden. Nach dem Verlassen der Methode werden die Verweise auf diese Unteransichten natürlich gelöscht, aber die Unteransichten in der speedGraph-Ansicht bleiben erhalten, da sie hinzugefügt werden. Wenn sich das Gerät ändert, werden die Unteransichten erneut erstellt und der speedGraph-Ansicht hinzugefügt, die diese Unteransichten bereits enthält, die Verweise auf diese Unteransichten jedoch nicht mehr finden kann. Das Array der Unteransichten der speedGraph-Ansicht wird mit (ich denke) baumelnden Unteransichten immer länger.
Ich habe das Problem gelöst, indem ich die Unteransichten, die der speedGraph-Ansicht hinzugefügt werden, als Klasseneigenschaft definiert und dann mit den Ansichten in dieser Methode das getan habe, was getan werden musste. Mit dieser Änderung war das Problem behoben.
quelle
Da wir hier alle Situationen posten können, die den gleichen Fehler zurückgeben, konnte ich meine posten :). Ich habe den Fehler erhalten, als ich die Datenschutzeinstellungen im Hintergrund geändert habe. Meine App hat die Einstellungs-App geöffnet, damit der Benutzer der Fotobibliothek die Berechtigung erteilen kann. Wenn der Berechtigungsschalter eingestellt ist, stürzt die App mit dem folgenden Fehler ab:
Dies scheint ein erzwungener Neustart Ihrer App durch das Betriebssystem zu sein, da der Benutzer geändert hat, auf was Ihre App zugreifen kann. In meinem Fall ist es also eine Aktion des Betriebssystems, die den Fehler verursacht hat.
quelle
Ich habe die gleiche Fehlermeldung erhalten, weil ich
assign
eineobject
Eigenschaft wie@property (assign, nonatomic) NSNumber *aVariable;
durch Ändern in behoben habestrong
.quelle
Für das, was es wert ist - es scheint, dass viele Situationen diesen Fehler auslösen. In meinem Fall hatte ich eine Warnung veröffentlicht, als der Benutzer ein Dateneingabeformular ablehnte und sich Daten im Formular befanden. Ich konnte den Fehler beheben, indem ich den Ersthelfer programmgesteuert aus allen zutreffenden Feldern zurückzog, bevor ich den View Controller abwickelte.
quelle
prepareForSegue()
wird er nicht angerufen und ich weiß nicht, wo ich den Ersthelfer zurücktreten soll.Ich habe dies gesehen, als ich die
Home
Taste gedrückt habe , während aUIAlertController
angezeigt wurde, was beim Neustart der App verworfen wurde. Ich habe Code hinzugefügt, um dasUIAlertController
in derappDelegate
:und die Fehlermeldung verschwand.
quelle
Ich hatte diesen Fehler beim Löschen eines Popovers über einen Delegaten. In der delegateMethod habe ich einige GUI-Sachen ausgelöst. Das Einfügen des GUI-Materials in den CompletionBlock von entlassenViewControllerAnimated hat das Problem behoben.
quelle
Ich bin ein Neuling in diesem Bereich, also nimm das für das, was es wert ist.
Was dies für mich behoben hat, war die Änderung der simulierten Metriken> Größe> in iPad-Vollbild. Alle meine Ansichten, mit Ausnahme derjenigen, die diesen Fehler ausgelöst hat, haben wir auf iPad-Vollbild eingestellt. Als ich es änderte, ging der Fehler weg ...
quelle
Der Grund, warum einige Entwickler den Fehler nicht erhalten, nachdem sie von "Unites States" zu "en" (oder einer anderen Region) gewechselt sind, besteht darin, dass zwischen den Ansichten "Property list" und "Source code" eine Diskrepanz besteht. Es ist wahrscheinlich ein Xcode-Fehler. Immer wenn zwischen diesen beiden Ansichten eine Nichtübereinstimmung besteht, wird dieser Fehler ausgelöst, unabhängig davon, ob es sich um "en" oder "englisch" handelt. Wenn Sie in "en" oder "USA" geändert haben, damit beide Ansichten identisch sind, wird das Problem behoben.
quelle
Ich habe diesen Fehler erhalten von:
etc
Erstellen einer neuen Wörterbuch-Eingabeaufforderung und:
und dann Eingabeaufforderung in meinen Alarmanrufen verwendet. Das hat das Problem behoben.
Es scheint also ein Zeitproblem zu sein.
quelle
mit Xcode 8.1 und iOs 10 habe ich auch konfrontiert
_BSMachError: (os / kern) ungültige Fähigkeit (20)
_BSMachError: (os / kern) ungültiger Name (15)
Der Versuch, UiTraiCollection var zu überschreiben, um zur Laufzeit die Größenklassen des iPad zu ändern und zwei verschiedene Schnittstellenlayouts in Portraid und Landscape zu haben. Es hat ohne Absturz funktioniert, aber unsere Fehler generiert.
Dies war der "Maliciuos" -Code:
Die Fehler werden
override func viewWillTransition
als Alternative zur Erkennung der Schnittstellendrehung verwendet.Ich hoffe, dass dies jemandem nützlich sein wird
quelle
In meinem Fall lag die Fehlerursache in der Größenänderung. Erbaut in IB. Alles, was die Größe eines Textfeldes oder ähnliches ändern kann, zum Beispiel die Zeilenlänge, kann meines Erachtens zu diesem Fehler führen. In meinem Fall musste ich einfach die Größe des Textfelds anpassen, um alle Möglichkeiten abzudecken, damit die Größe des Felds nicht geändert werden muss und Konflikte mit etwas anderem auftreten müssen.
quelle