Desde un shell puede usar el comando open
con una URL como parámetro, y eso se encarga de abrir esa URL en el navegador predeterminado.
Así que debería poder usar system()
o código similar fork()/exec()
para hacer lo mismo.
nb: open
también abrirá otros tipos de archivos/URL, así que asegúrese de que realmente es una URL web que está tratando de abrir, de lo contrario, tiene un probable problema de seguridad.
La forma en Objective C de hacerlo parece ser:
[[NSWorkspace sharedWorkspace] openURL:url];
donde url
es un puntero a un objeto NSURL