私はついにアプリケーションをXcode4.5とARCに更新しています。いくつか問題があります。コードのいくつかのポイントで、関数CFRelease()
によって返される値に使用しますCFxxCopyxx()
。
ただし、を使用するとCFRelease()
、
***-[CFURLクラス]:実行時に割り当て解除されたインスタンスに送信されるメッセージ。
を削除するとCFRelease()
、オブジェクトのリークに関するコンパイル警告が表示されます。これは私にとって意味があります。私は何が欠けていますか?
char path[PATH_MAX]={0};
CFBundleRef mainBundle = CFBundleGetMainBundle();
if (NULL != mainBundle)
{
CFURLRef resourcesURL = CFBundleCopyResourcesDirectoryURL(mainBundle);
if (!CFURLGetFileSystemRepresentation(resourcesURL, TRUE, (UInt8 *)path, PATH_MAX))
{
NSLog(@)"CFURLGetFileSystemRepresentation() failed.\n");
}
CFRelease(resourcesURL);
}else
{
NSLog(@"CFBundleGetMainBundle() failed.\n");
}