Поскольку вы не опубликовали код, показывающий, как был создан URL, вот общее правило:
Если создать объект с инициализатором, который начинается с «init», то вам, вероятно, следует его освободить. Если он создан другим способом (удобный метод), то он автоматически выпущен. Например:
NSArray *a = [[NSArray alloc]initWithContentsOfURL:url]; // release this later
NSArray *a = [NSArray arrayWithContentsOfURL:url]; // this will be auto released
По сути, вам просто нужно посмотреть, дал ли фреймворк объект с автоматическим выпуском или нет, потому что вы не можете выпустить объект с автоматическим выпуском, или вы (очевидно) получите сбой.
Взгляните на Руководство по управлению памятью . Это должно быть обязательным чтением.