(i want to get the path so i can load images in a NSImageView)
You don't need the path to your executable to do that. The easiest way is NSImage's imageNamed:
method; the second easiest is what St3fan suggested.
Now let's go through the problems in your implementation of the hard way:
NSString * _Ruta_APP = [[NSString alloc] init];
This declares a local variable named _Ruta_APP
and initializes it to hold an NSString object, which you own because you created it with alloc
and have not released it.
_Ruta_APP = [[NSBundle mainBundle] bundlePath];
This puts a different string object into the same variable, replacing the first one. If you're not using garbage collection, then that first object is still alive and you still own it, even though you no longer have a way to send it messages. Thus, you have leaked it.
If you meant to have _Ruta_APP
as an instance variable, then cut the entire first line. It's generally a bad idea to hold objects that you don't own in your instance variables, so take ownership of this object; the best way would be to make a copy (after doing so, you will own the copy) and put that in the instance variable. Otherwise, when whatever does own the original object releases it, the object will die, but you'll still be holding it; then you'll send a message to a dead object, which will crash your app. See the memory management rules.
If you meant to have _Ruta_APP
as a local variable, not in any other instance methods, cut the instance variable.