Tenga en cuenta que este mensaje de error es de nivel bastante bajo, por lo que surge por diferentes razones en diferentes escenarios. Si tiene un escenario que no se menciona en una de las respuestas a continuación, considere agregar su situación también, por lo que tal vez esta podría ser una respuesta central para varias situaciones que generan este mensaje de error.
Editar 10 de noviembre de 2015 También tenga en cuenta que marqué mi propia respuesta como la respuesta, pero eso fue antes de que alguien más hubiera publicado. Supongo que ninguno debería ser marcado como la respuesta, porque como hemos visto a continuación ... este error no tiene una sola respuesta porque es de nivel muy bajo.
Estoy corriendo
- Simulador de iOS 9.0
- XCode 7.0
Todo estaba funcionando bien ayer.
Hoy, después de un montón de trabajo en cosas relacionadas con la rotación, comencé a recibir este error en la salida de mi consola cuando ejecuto la aplicación en el Simulador y la giro.
_BSMachError: (os / kern) capacidad no válida (20)
_BSMachError: (os / kern) nombre no válido (15)
- He borrado mi carpeta de compilación, - He limpiado la carpeta de datos derivados, - He reiniciado el simulador.
Estaba trabajando con
UIViewController viewWillLayoutSubviews
UIViewController viewWillTransitionToSize:...
También estaba comprobando varias configuraciones de 'Dibujo' en el Inspector de Atributos en IB.
También hice una categoría de utilidad en UIView donde creé un montón de métodos que crean CGRect
y me ayudan a asignar marcos a las vistas.
fuente
MyFoodTracker
: PRespuestas:
Basado en https://forums.developer.apple.com/thread/15683 :
Cambie " Región de desarrollo nativo de localización "
info.plist
a Estados Unidos en lugar deen
.Actualizado: entonces puede revertir estos cambios.
fuente
ja
, noen
. ¿Qué tengo que hacer? ¿Establecerlo enJapan
?También me topé con los
_BSMachError
errores de la consola mientras hacía un enlace profundo a la aplicación Configuración en iOS 9 desde unaUIAlertController
acción. Adispatch_async
resuelto mi problema:fuente
Ok, no lo he anclado por completo, pero esto te llevará al 99% del camino. Estoy usando un control de mapa de terceros de ESRI, y algo al respecto no le gusta una de estas configuraciones de dibujo en el Inspector de atributos. No he probado cada configuración individualmente para ver qué configuración es, pero cuando las apagué todas (en el cuadro rojo), todo funcionó de maravilla, y dejé de recibir el mensaje de error anterior en la consola. Si tengo tiempo de precisar la configuración precisa o la combinación de configuraciones, actualizaré la respuesta.
fuente
Es una locura, pero para mí la solución fue simplemente eliminar todos los puntos de interrupción en el archivo donde ocurrió el error.
¿En cuanto a la causa? Creo que accidentalmente presioné una tecla de acceso directo para crear un punto de interrupción en la línea actual. Debido a que no fue intencional, presioné la misma tecla de acceso directo nuevamente para eliminarlo.
Oh mi querido XCode ...
fuente
Estaba recibiendo los mismos errores ...
Estaba llamando a openURL () desde un
UIAlertAction
Aplazando la ejecución del bloque hasta que el siguiente ciclo de ejecución lo arregle ...
fuente
Estaba obteniendo lo siguiente al proporcionar nuevos datos:
El error ocurrió cuando se usó un botón para suministrar datos nuevos. Se
NSTimer
usó un para actualizar y actualizar datos al regresar de unaperformSegueWithIdentifier
acción. El temporizador se activaba y luego se invalidaba inmediatamente después de su uso en el momento de devolución. SeMSMachError
detuvieron cuando se quitó el temporizador y -(void)viewWillAppear:(BOOL)animated
y(void)viewDidAppear:(BOOL)animated
se emplearon para realizar la misma función. Este error comenzó con la actualización a Xcode 7.fuente
Este problema se solucionó cambiando el valor de la
Localization native development region
clave aUnited Kingdom
[o cualquier región específica] de su valor predeterminadoen
presente eninfo.plist
su proyecto.Project Navigator
info.plist
archivo presente en la carpeta ProjectNameTests.Localization native development region key
a cualquier región específica, por ejemplo. Reino Unidofuente
BSMachError
. Cambiando la región para queUnited States
el error desaparezca. Otro misterio inexplicable de Xcode.También me encontré con el mismo problema en una operación NSO que se ejecutaba en un subproceso en segundo plano y todavía recibía este error porque un UIAlertController todavía se eliminaba a sí mismo mientras otra transacción de IU intentaba tener lugar. Modificar mi código a esto solucionó el problema.
Mucha gente no sabe acerca de diferir: permite completar el alcance actual y luego se ejecuta después. Un poco ordenado
fuente
Me enfrenté al mismo error de capacidad no válida (20) y nombre no válido (15). Probé las soluciones mencionadas por otros como:
Pero ninguna de esas soluciones resolvió mi problema. En realidad, estaba tratando de compartir algún documento, pero generar el documento llevaría algún tiempo y quería mostrar un UIActivityIndicatorView al usuario hasta que se cargue el documento.
La solución para mi error fue:
fuente
Cambiar la cadena de localización de en a Estados Unidos me arregló esto. Sin embargo, asegúrese de limpiar después de cambiar Info.plist. Me di cuenta de que las actualizaciones no funcionan cuando solo construyes después de hacer cambios de plist.
fuente
En mi caso era Little Snitch, estaba bloqueando las URL automáticamente.
fuente
Podría reproducir el error por mí: si realizo cambios en una de las Vistas dentro de una Vista que ya estoy cerrando (popViewControllerAnimated), recibo el error.
Estoy teniendo una acción UINavigationButton que realiza una tarea asincrónica (POSTRequest). Antes de realizar esta solicitud, configuré la vista personalizada de ese botón en un indicador de progreso. Al regresar de la llamada asincrónica, despacho al hilo principal y restablezco la vista personalizada de ese botón. Después de eso, estoy cerrando la vista (popViewControllerAnimated).
Este es el código CORRECTO donde el error no aparece:
Lo que causó el error fue cambiar de línea: cerrar la vista y luego configurar customView en nil:
fuente
Este error comenzó a aparecer después de agregar algunos observadores:
El problema desapareció cuando especifiqué el nombre de la clase en lugar de
self
:fuente
Tuve el mismo error y ninguno de los anteriores se aplicó a mi problema. El problema apareció cuando registré mi controlador de vista como observador de un cambio de orientación del dispositivo, por lo que las vistas podían redimensionarse y los dibujos en la vista podían hacerse de acuerdo con el nuevo tamaño de la vista.
Tenía una salida de viewGraph, que era una subclase de UIView en la que dibujaba algunos gráficos. En modo horizontal, el tamaño de viewGraph es mayor que en modo vertical. Entonces, cuando el dispositivo cambia su orientación, se debe volver a dibujar el speedGraph.
El problema era que agregué varias subvistas a la vista de SpeedGraph, que contenía gráficos. Estas subvistas debían presentarse nuevamente en la vista de SpeedGraph y luego volverse a dibujar. Después de que el dispositivo cambió su orientación, llamé a viewDidAppear nuevamente para hacer que la vista speedGraph y todas sus subvistas se presentaran de nuevo y se volvieran a dibujar. Llamar a setNeedsDisplay para speedGraph no funciona con cambios de orientación y subvistas en una vista.
¿Qué hice mal que causó la aparición del error? En viewDidAppear, llamo a un método que hace algunos cálculos y agrega las subvistas a la vista speedGraph. El problema era que estas subvistas se crearon en el método y se agregaron a la vista speedGraph en este método. Después de abandonar el método, las referencias a estas subvistas, por supuesto, se eliminan, pero las subvistas en la vista speedGraph permanecen, ya que se agregan. Cuando el dispositivo cambia, las subvistas se crean nuevamente y se agregan a la vista speedGraph, que ya tiene estas subvistas, pero ya no puede encontrar las referencias a estas subvistas. La variedad de subvistas de la vista speedGraph se alarga cada vez más con (creo) subvistas colgantes.
Resolví el problema definiendo las subvistas que se agregarán a la vista speedGraph como una propiedad de clase y luego haré lo que sea necesario hacer con las vistas dentro de este método. Con este cambio, el problema desapareció.
fuente
Como podemos publicar todas las situaciones que devuelven el mismo error aquí, me sentí libre de publicar el mío :). Recibí el error cuando cambié la configuración de privacidad en segundo plano. Mi aplicación abrió la aplicación de configuración para que el usuario pueda otorgarle permiso a su fotolibrary, cuando se establece el interruptor de permiso, la aplicación se bloquea con el error medido:
Esto parece ser un reinicio forzado de su aplicación por parte del sistema operativo, porque el usuario cambió lo que su aplicación puede acceder. Entonces, en mi caso, fue una acción del sistema operativo quien causó el error.
fuente
Recibí el mismo mensaje de error, porque tengo
assign
unaobject
propiedad como@property (assign, nonatomic) NSNumber *aVariable;
, arreglada al cambiar astrong
.fuente
Por lo que vale, parece que muchas situaciones arrojan este error. En mi caso, había publicado una alerta cuando el usuario estaba rechazando un formulario de entrada de datos y los datos estaban en el formulario. Pude eliminar el error al renunciar programáticamente al primer respondedor de todos los campos aplicables antes de desenrollar el controlador de vista.
fuente
prepareForSegue()
no me llaman y no sé dónde renunciar al primer respondedor.Vi esto cuando presioné el
Home
botón mientrasUIAlertController
se mostraba a, lo cual fue descartado cuando relancé la aplicación. Agregué código para descartar elUIAlertController
enappDelegate
:y el mensaje de error desapareció.
fuente
Tuve este error al descartar un popover a través de delegado. En delegateMethod, activé algunas cosas de GUI. Poner el GUI-Stuff en la terminación Bloqueo de despedirViewControllerAnimated lo arregló.
fuente
Soy un novato en esto, así que tómalo por lo que vale.
Lo que solucionó esto para mí fue cambiar las métricas simuladas> Tamaño> a pantalla completa de iPad. Todos mis puntos de vista, EXCEPTO el que arrojó este error, lo configuramos en iPad Pantalla completa. Cuando lo cambié, el error desapareció ...
fuente
La razón por la que algunos desarrolladores no obtienen el error regresó después de cambiar de "Estados Unidos" a "en" (u) otra región, es que existe una discrepancia entre las vistas de "Lista de propiedades" y "Código fuente". Probablemente sea un error de Xcode. Siempre que haya una falta de coincidencia entre estas dos vistas, se generará este error, sea lo que sea "en" o "inglés". Si ha cambiado a "en" o "Estados Unidos" para que ambas vistas sean iguales, solucionará el problema.
fuente
Recibí este error de:
etc.
creando un nuevo indicador de diccionario y:
y luego usé prompt en mis llamadas de alerta. Eso solucionó el problema.
Entonces parece que es un problema de tiempo.
fuente
con Xcode 8.1 y iOs 10 también me enfrenté
_BSMachError: (os / kern) capacidad no válida (20)
_BSMachError: (os / kern) nombre no válido (15)
tratando de anular UiTraiCollection var para cambiar en tiempo de ejecución las clases de iPad'size para tener dos diseños de interfaz diferentes en Portraid y Landscape. Funcionó sin ningún bloqueo, pero generó nuestros errores.
Este fue el código "maliciuos":
Los errores desaparecieron usando
override func viewWillTransition
como alternativa para detectar la rotación de la interfaz.Espero que esto sea útil para alguien
fuente
En mi caso, la causa del error se debió al cambio de tamaño. Construido en IB. Creo que cualquier cosa que pueda cambiar el tamaño de un campo de texto o similar, por ejemplo, cambiar la longitud de la línea, puede conducir a este error. En mi caso, simplemente tuve que ajustar el tamaño del campo de texto para cubrir todas las posibilidades para que no sea necesario cambiar el tamaño del cuadro y entrar en conflicto con otra cosa.
fuente