Comparando números de versão

Há algum tempo, li que a comparação de números de versão pode ser feita usando o seguinte snippet de código:

NSString *vesrion_1 = @"1.2.1";
NSString *version_2 = @"1.2.0";

if ([version_1 compare:version_2 options:NSNumericSearch] == NSOrderedAscending) {
...
}

Isso parece funcionar bem, mas um usuário está tendo um problema, devido a uma comparação de número de versão aparentemente incorreta.

Minha pergunta é: é seguro, em todas as circunstâncias, usar esta técnica para comparar números de versão? É possível que a comparação acima resulte em resultados diferentes em máquinas diferentes?

questionAnswers(8)

yourAnswerToTheQuestion