NSAppleEventDescriptor *objectReturned = [appleScriptObject executeAndReturnError:nil];
Никогда не делай этого.Если вы используете этот метод неправильно (маловероятно) или дадите ему плохой сценарий (вполне возможно), или что-то не работает на другом приложении (очень вероятно), вы не сможете выяснить, в чем проблема.Пусть фреймворк скажет вам, что не так.
Плюс, nil
здесь неправильная константа.nil
- нулевой указатель для типов указателя объекта;Nil
для Class
значений, а NULL
для всего остального.
charToReturn = [NSString stringWithString:@"error"];
Это уже строка.Вам не нужно создавать еще одну строку с ним.
Проблема в том, что это утечка тонны памяти.
Подтвердили ли вы с помощью инструментов, что вы на самом делеутечка объектов, связанных с AppleScript, которые возникают в этом методе?
Я не вижу ничего в методе, который выглядит неправильно.Пул должен быть ненужным, но его использование является правильным и правильным.
Вместо этого вы можете попробовать использовать OSAKit, особенно его класс OSAScript.Это не задокументировано, но интерфейсы двух классов практически одинаковы.