¿Cómo verificar que dos cadenas de formato sean compatibles?

Ejemplos:

"Something %d"        and "Something else %d"       // Compatible
"Something %d"        and "Something else %f"       // Not Compatible
"Something %d"        and "Something %d else %d"    // Not Compatible
"Something %d and %f" and "Something %2$f and %1$d" // Compatible

Supuse que debería haber alguna función C para esto, pero no obtengo ningún resultado de búsqueda relevante. Quiero decir que el compilador verifica que la cadena de formato y los argumentos coincidan, por lo que el código para verificar esto ya está escrito. La única pregunta es cómo puedo llamarlo.

Estoy usando Objective-C, así que si hay una solución específica de Objective-C, también está bien.

Respuestas a la pregunta(2)

Su respuesta a la pregunta