С чего вдруг он легаси? Обновлений не было больше года? И что с того.
Он нативный(x64), работает как часы, хавает массу форматов, имеет простой и понятный интерфейс, удобные интуитивно понятные хоткеи. Умеет подгружать список серий и включать следующую. Что еще для жизни надо?
id anObject = [[Rectangle alloc] init];
Приведённая выше конструкция является правильным способом создания объекта. Обратите внимание, что следующая конструкция может в ряде случаев не работать:
id anObject = [Rectangle alloc];
[anObject init];
Это связано с тем, что для ряда классов метод init может вернуть совсем другой указатель (а не self).
Простейшими примерами того, когда может возникать подобная ситуация, являются синглтоны (тогда, если один экземпляр класса уже существует, то метод init освободит выделенную alloc’ом память и вернет указатель на уже созданный единственный экземпляр) и кэширование объектов, когда для увеличения производительности, выделение объектов происходит сразу блоками и объекты не уничтожаются, а сохраняются для переиспользования.