First off, you're creating the file manager instance incorrectly. To create a new instance, you need to both allocate and initialize it.
You're trying to pass an NSURL object, which won't be created correctly since the string you're using to create it with isn't a URL. But that doesn't matter anyway, because even if the NSURL was created, -createFileAtPath:contents:attributes: expects an NSString - just pass pT1 directly.
Better still, since you're basically just copying p to pT1, use the NSFileManager method for doing that. Not only is it conceptually a better fit, it also gives you a chance to examine a returned NSError object to see what (if anything) went wrong.
NSError *error; NSFileManager *fm = [[[NSFileManager alloc] init] autorelease]; if (![fm copyFileAtPath:p toPath:pT1 error:&error]) { // If copyFileAtPath:toPath:error: returned FALSE, an error occurred, and // error will point to an NSError instance with more information }