Veuillez noter que ce message d'erreur est de niveau assez bas, il apparaît donc pour différentes raisons dans différents scénarios. Si vous avez un scénario qui n'est pas mentionné dans l'une des réponses ci-dessous, veuillez également envisager d'ajouter votre situation, donc peut-être que cela pourrait être une réponse centrale pour diverses situations qui soulèvent ce message d'erreur.
Modifier le 10 novembre 2015 Notez également que j'ai marqué ma propre réponse comme réponse, mais c'était avant que quiconque ait posté. Je suppose qu'aucune ne devrait vraiment être marquée comme réponse, car comme nous l'avons vu ci-dessous ... cette erreur n'a pas qu'une seule réponse car son niveau est si bas.
je suis entrain de courir
- Simulateur iOS 9.0
- XCode 7.0
Tout fonctionnait bien hier.
Aujourd'hui, après un tas de travail sur des choses liées à la rotation, j'ai commencé à avoir cette erreur dans la sortie de ma console lorsque j'exécute l'application dans le simulateur et que je la fais pivoter.
_BSMachError: (os / kern) capacité invalide (20)
_BSMachError: (os / kern) nom invalide (15)
- J'ai effacé mon dossier de construction, - J'ai nettoyé le dossier de données dérivé, - J'ai réinitialisé le simulateur.
Je travaillais avec
UIViewController viewWillLayoutSubviews
UIViewController viewWillTransitionToSize:...
Je vérifiais également divers paramètres de `` dessin '' sur l'inspecteur d'attributs dans IB.
J'ai également créé une catégorie utilitaire sur UIView où j'ai créé un tas de méthodes qui créent CGRect
des et m'aide à assigner des cadres aux vues.
la source
MyFoodTracker
: PRéponses:
Basé sur https://forums.developer.apple.com/thread/15683 :
Remplacez " Région de développement native de localisation " par
info.plist
États-Unis au lieu deen
.Mise à jour: vous pouvez ensuite annuler ces modifications.
la source
ja
, nonen
. Que devrais-je faire? Réglez-le surJapan
?J'ai également rencontré les
_BSMachError
erreurs de la console lors de la liaison profonde dans l'application Paramètres sur iOS 9 à partir d'uneUIAlertController
action. Adispatch_async
résolu mon problème:la source
Ok, je ne l'ai pas complètement épinglé, mais cela vous mènera à 99% du chemin. J'utilise un contrôle de carte tiers d'ESRI, et quelque chose à ce sujet n'aime pas l'un de ces paramètres de dessin dans l'inspecteur d'attributs. Je n'ai pas essayé chaque paramètre individuellement pour voir de quel paramètre il s'agit, mais lorsque je les ai tous désactivés (dans la boîte rouge), tout a fonctionné comme un charme, et j'ai arrêté de recevoir le message d'erreur ci-dessus dans la console. Si et quand j'ai le temps de le fixer au réglage précis ou à la combinaison de paramètres, je mettrai à jour la réponse.
la source
C'est fou mais pour moi, la solution était simplement de supprimer tous les points d'arrêt du fichier où l'erreur s'est produite.
Quant à la cause? Je pense que j'ai accidentellement appuyé sur une touche de raccourci pour créer un point d'arrêt dans la ligne actuelle. Parce que ce n'était pas intentionnel, j'ai à nouveau appuyé sur la même touche de raccourci pour la supprimer.
Oh mon cher XCode ...
la source
J'avais les mêmes erreurs ...
J'appelais openURL () depuis un
UIAlertAction
Le report de l'exécution du bloc jusqu'à la prochaine boucle d'exécution l'a corrigé ...
la source
J'obtenais ce qui suit lors de la fourniture de nouvelles données:
L'erreur s'est produite lorsqu'un bouton a été utilisé pour fournir de nouvelles données. Un a
NSTimer
été utilisé pour actualiser et mettre à jour les données au retour d'uneperformSegueWithIdentifier
action. La minuterie était activée puis invalidée immédiatement après l'utilisation au moment du retour. LeMSMachError
s'est arrêté lorsque la minuterie a été retirée et -(void)viewWillAppear:(BOOL)animated
et(void)viewDidAppear:(BOOL)animated
ont été utilisés pour effectuer la même fonction. Cette erreur a commencé avec la mise à niveau vers Xcode 7.la source
J'ai résolu ce problème en modifiant la valeur de la
Localization native development region
clé enUnited Kingdom
[ou toute région spécifique] par rapport à sa valeur par défauten
présente dansinfo.plist
votre projet.Project Navigator
info.plist
fichier présent dans le dossier ProjectNameTests.Localization native development region key
à une région spécifique pour par exemple. Royaume-Unila source
BSMachError
. Changer de région pourUnited States
faire disparaître l'erreur. Encore un autre mystère Xcode inexplicable.J'ai également rencontré le même problème dans une NSOperation exécutée sur un thread d'arrière-plan et j'obtenais toujours cette erreur car un UIAlertController se supprimait toujours alors qu'une autre transaction d'interface utilisateur essayait de se produire. La modification de mon code a résolu le problème.
Beaucoup de gens ne savent pas à propos du report - Cela permet à la portée actuelle de se terminer, puis de s'exécuter après. Un peu soigné.
la source
J'ai fait face à la même erreur capacité invalide (20) et nom invalide (15). J'ai essayé les solutions mentionnées par d'autres telles que:
Mais aucune de ces solutions n'a résolu mon problème. En fait, j'essayais de partager un document, mais la génération du document prendrait un certain temps et je voulais afficher un UIActivityIndicatorView à l'utilisateur jusqu'à ce que le document se charge.
La solution à mon erreur était:
la source
Le changement de la chaîne de localisation de en à États-Unis a résolu ce problème pour moi. Cependant, assurez-vous de nettoyer après avoir modifié Info.plist. J'ai remarqué que les mises à jour ne fonctionnent pas lorsque vous construisez juste après avoir apporté des modifications plist.
la source
Dans mon cas, c'était Little Snitch, il bloquait automatiquement les URL.
la source
Je pourrais reproduire l'erreur pour moi: si vous modifiez l'une des vues dans une vue que je ferme déjà (popViewControllerAnimated), je reçois l'erreur.
J'ai une action UINavigationButton qui crée une tâche asynchrone (POSTRequest). Avant d'effectuer cette demande, j'ai défini la vue personnalisée de ce bouton sur un indicateur de progression. En revenant de l'appel asynchrone, je distribue au thread principal et réinitialise le customView de ce bouton. Après cela, je ferme la vue (popViewControllerAnimated).
C'est le code CORRECT où l'erreur n'apparaît pas:
Ce qui a causé l'erreur a été de changer de ligne: fermer la vue, puis définir le customView sur nil:
la source
Cette erreur a commencé à apparaître après avoir ajouté quelques observateurs:
Le problème a disparu lorsque j'ai spécifié le nom de la classe au lieu de
self
:la source
J'ai eu la même erreur et aucune des réponses ci-dessus ne s'appliquait à mon problème. Le problème est apparu lorsque j'ai enregistré mon contrôleur de vue en tant qu'observateur pour un changement d'orientation de périphérique, de sorte que les vues pouvaient être redimensionnées et les dessins dans la vue pouvaient être créés en fonction de la nouvelle taille de la vue.
J'avais une sortie d'un viewGraph qui était une sous-classe de UIView dans laquelle j'ai dessiné quelques graphiques. En mode paysage, la taille de viewGraph est plus grande qu'en mode portrait. Ainsi, lorsque l'appareil change d'orientation, le speedGraph devait être redessiné.
Le problème était que j'ai ajouté plusieurs sous-vues à la vue speedGraph, qui contenaient des graphiques. Ces sous-vues devaient être réorganisées dans la vue speedGraph, puis redessinées. Une fois que l'appareil a changé son orientation, j'ai à nouveau appelé viewDidAppear pour que la vue speedGraph et toutes ses sous-vues soient à nouveau disposées et redessinées. L'appel de setNeedsDisplay pour speedGraph ne fonctionne pas avec les changements d'orientation et les sous-vues dans une vue.
Qu'est-ce que j'ai fait de mal qui a fait apparaître l'erreur? Dans viewDidAppear, j'appelle une méthode qui fait quelques calculs et ajoute les sous-vues à la vue speedGraph. Le problème était que ces sous-vues étaient créées dans la méthode et ajoutées à la vue speedGraph dans cette méthode. Après avoir quitté la méthode, les références à ces sous-vues sont, bien sûr, supprimées, mais les sous-vues dans la vue speedGraph restent, puisqu'elles sont ajoutées. Lorsque l'appareil change, les sous-vues sont créées à nouveau et ajoutées à la vue speedGraph, qui contient déjà ces sous-vues, mais ne peut plus trouver les références à ces sous-vues. Le tableau des sous-vues de la vue speedGraph s'allonge de plus en plus avec (je pense) des sous-vues pendantes.
J'ai résolu le problème en définissant les sous-vues qui seront ajoutées à la vue speedGraph en tant que propriété de classe, puis en faisant ce qu'il fallait faire avec les vues à l'intérieur de cette méthode. Avec ce changement, le problème avait disparu.
la source
Puisque nous pouvons poster toutes les situations retournant la même erreur ici, je me suis senti libre de poster la mienne :). J'ai eu l'erreur lorsque j'ai modifié les paramètres de confidentialité en arrière-plan. Mon application a ouvert l'application de paramètres afin que l'utilisateur puisse lui accorder l'autorisation d'accéder à sa photothèque, lorsque le commutateur d'autorisation est défini, l'application se bloque avec l'erreur mentionnée:
Cela semble être un redémarrage forcé de votre application par le système d'exploitation, car l'utilisateur a changé ce à quoi votre application peut accéder. Donc, dans mon cas, c'est une action du système d'exploitation qui a causé l'erreur.
la source
J'ai eu le même message d'erreur, car j'ai
assign
uneobject
propriété comme@property (assign, nonatomic) NSNumber *aVariable;
, corrigée en changeant enstrong
.la source
Pour ce que ça vaut - il semble que de nombreuses situations génèrent cette erreur. Dans mon cas, j'avais publié une alerte lorsque l'utilisateur rejetait un formulaire de saisie de données et que les données étaient dans le formulaire. J'ai pu éliminer l'erreur en démissionnant par programme le premier répondeur de tous les champs applicables avant de dérouler le contrôleur de vue.
la source
prepareForSegue()
n'est pas appelé et je ne sais pas où démissionner du premier répondeur.J'ai vu cela lorsque j'ai appuyé sur le
Home
bouton pendant que unUIAlertController
était affiché, ce qui a été rejeté lorsque j'ai relancé l'application. J'ai ajouté du code pour ignorer leUIAlertController
dansappDelegate
:et le message d'erreur a disparu.
la source
J'ai eu cette erreur lors du rejet d'un popover via un délégué. Dans la méthode delegateMethod, j'ai déclenché des trucs GUI. Mettre le GUI-Stuff dans le completionBlock de licenciementViewControllerAnimated l'a corrigé.
la source
Je suis un novice dans ce domaine, alors prenez-le pour ce qu'il vaut.
Ce qui a résolu ce problème pour moi a été de changer les mesures simulées> Taille> en plein écran sur iPad. Tous mes points de vue SAUF pour celui qui a jeté cette erreur, nous avons défini le plein écran sur iPad. Quand je l'ai changé, l'erreur a disparu ...
la source
La raison pour laquelle certains développeurs n'obtiennent pas l'erreur est revenue après le passage de «États-Unis» à «en» (ou) d'une autre région, c'est qu'il y a une différence entre les vues «Liste de propriétés» et «Code source». C'est probablement un bogue Xcode. Chaque fois qu'il y a une discordance entre ces deux vues, cette erreur sera générée, quelle qu'elle soit "en" ou "English". Si vous avez changé en "en" ou "États-Unis" pour que les deux vues soient identiques, le problème sera résolu.
la source
J'ai eu cette erreur de:
etc
créer une nouvelle invite de dictionnaire et:
puis utilisé l'invite dans mes appels d'alerte. Cela a résolu le problème.
Il semble donc que ce soit une question de timing.
la source
avec Xcode 8.1 et iOs 10, j'ai également rencontré
_BSMachError: (os / kern) capacité invalide (20)
_BSMachError: (os / kern) nom invalide (15)
essayant de remplacer UiTraiCollection var pour changer au moment de l'exécution les classes iPad'size pour avoir deux dispositions d'interface différentes dans Portraid et Landscape. Cela a fonctionné sans aucun crash mais générer nos erreurs.
C'était le code "maliciuos":
Les erreurs ont disparu en utilisant
override func viewWillTransition
comme alternative pour détecter la rotation de l'interface.J'espère que cela sera utile à quelqu'un
la source
Dans mon cas, la cause de l'erreur était due au redimensionnement. Construit en IB. Tout ce qui peut changer la taille d'un champ de texte ou similaire, par exemple changer la longueur de la ligne, peut conduire à cette erreur, je crois. Dans mon cas, j'ai simplement dû ajuster la taille du champ de texte pour couvrir toutes les possibilités afin qu'il n'ait pas besoin de redimensionner la boîte et d'entrer en conflit avec autre chose.
la source