Encontrar una llamada a la API privada _terminateWithStatus

Acabo de recibir un correo electrónico de Apple que indica que mi aplicación ha sido rechazada por la llamada de _terminateWithStatus. Tengo algunos frameworks en la aplicación y creo que ese podría ser el culpable.

He corrido el otool aquí está mi salida

/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 751.49.0) /System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 1400.0.0) /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics (compatibility version 64.0.0, current version 600.0.0) /System/Library/Frameworks/CoreData.framework/CoreData (compatibility version 1.0.0, current version 320.15.0) /System/Library/Frameworks/MapKit.framework/MapKit (compatibility version 1.0.0, current version 14.0.0) /System/Library/Frameworks/CFNetwork.framework/CFNetwork (compatibility version 1.0.0, current version 485.12.7) /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration (compatibility version 1.0.0, current version 379.0.0) /System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices (compatibility version 1.0.0, current version 20.0.0) /System/Library/Frameworks/CoreLocation.framework/CoreLocation (compatibility version 1.0.0, current version 370.3.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 150.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.4.0) /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0) /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 550.52.0) 

También he ejecutado la aplicación a través de App Scanner, pero terminateWithStatus no se muestra en la salida.

¿Alguien puede señalarme en la dirección correcta al encontrar esto? También he visto hablar sobre el uso de nm y grep para encontrar la llamada. Gracias de antemano.

SOLUCIONADO

Después de sumergirse en el directorio de comstackción:

 AppName/build/AppName.build/Release-iphoneos/AppName.build/Objects-normal/armv6/ 

Corrí:

 strings AppName | grep 'terminateWithStatus' 

y devolvió un resultado. Después de algunas excavaciones, descubrí que GHUnit, el framework de pruebas, estaba haciendo la llamada. Eliminé el framework, reconstruí y ejecuté el comando string nuevamente sin ningún resultado.

Espero que esto ayude a cualquier otra persona que busque una llamada de API privada, no ha sido una aventura divertida.

Tienes que ejecutar la copia de seguridad en el ejecutable, no en el envoltorio de la aplicación.

Por ejemplo (perdón por la rareza de formateo):

 $ otool -L WriteRoom.app/Contents/MacOS/WriteRoom WriteRoom.app/Contents/MacOS/WriteRoom (architecture ppc): @executable_path/../Frameworks/Blocks.framework/Versions/A/Blocks (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 11.0.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.3) 

 WriteRoom.app/Contents/MacOS/WriteRoom (architecture i386): @executable_path/../Frameworks/Blocks.framework/Versions/A/Blocks (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 11.0.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.3)