Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Cocoa中以编程方式创建捆绑包?_Cocoa_Bundle_Core Foundation - Fatal编程技术网

如何在Cocoa中以编程方式创建捆绑包?

如何在Cocoa中以编程方式创建捆绑包?,cocoa,bundle,core-foundation,Cocoa,Bundle,Core Foundation,我试图创建一个像 CFBundleRef bundleRef = CFBundleCreate(kCFAllocatorDefault, (CFURLRef)@"/Users/MyUser/source/Mybundle.component"); CFBundleRef bundleRef = CFBundleCreate(kCFAllocatorDefault, (CFURLRef)@"/Users/MyUser/source/Mybundle.component"); 但我得到了西格伯特

我试图创建一个像

CFBundleRef bundleRef = CFBundleCreate(kCFAllocatorDefault, (CFURLRef)@"/Users/MyUser/source/Mybundle.component");
CFBundleRef bundleRef = CFBundleCreate(kCFAllocatorDefault, (CFURLRef)@"/Users/MyUser/source/Mybundle.component");
但我得到了西格伯特

但是没有。我怎样才能做好呢?我应该先创建Mybundle.component目录吗

我试图创建一个像

CFBundleRef bundleRef = CFBundleCreate(kCFAllocatorDefault, (CFURLRef)@"/Users/MyUser/source/Mybundle.component");
CFBundleRef bundleRef = CFBundleCreate(kCFAllocatorDefault, (CFURLRef)@"/Users/MyUser/source/Mybundle.component");
但我得到了西格伯特

这是因为字符串不是CFURL对象
CFBundleCreate
需要一个URL对象,挥手告诉它“这完全是一个CFURL对象”不足以使该路径成为一个URL对象。您需要实际创建一个CFURL或NSURL对象,并将其传递到那里

确保使用正确的功能/方法。要从路径创建URL,在Cocoa中,您需要
fileURLWithPath:
,而不是
URLWithString:
(后者需要表示URL的字符串,而不是路径)。CF具有与其中每个功能相对应的功能

但是没有…我应该先创建Mybundle.component目录吗

我不会指望一个空目录会被接受为一个bundle,但在为其创建bundle对象之前,您确实需要一个bundle已经存在于该路径(或CF中的URL)中

如果你想从头开始在磁盘上创建一个捆绑包,请考虑使用.< /P> 我试图创建一个像

CFBundleRef bundleRef = CFBundleCreate(kCFAllocatorDefault, (CFURLRef)@"/Users/MyUser/source/Mybundle.component");
CFBundleRef bundleRef = CFBundleCreate(kCFAllocatorDefault, (CFURLRef)@"/Users/MyUser/source/Mybundle.component");
但我得到了西格伯特

这是因为字符串不是CFURL对象
CFBundleCreate
需要一个URL对象,挥手告诉它“这完全是一个CFURL对象”不足以使该路径成为一个URL对象。您需要实际创建一个CFURL或NSURL对象,并将其传递到那里

确保使用正确的功能/方法。要从路径创建URL,在Cocoa中,您需要
fileURLWithPath:
,而不是
URLWithString:
(后者需要表示URL的字符串,而不是路径)。CF具有与其中每个功能相对应的功能

但是没有…我应该先创建Mybundle.component目录吗

我不会指望一个空目录会被接受为一个bundle,但在为其创建bundle对象之前,您确实需要一个bundle已经存在于该路径(或CF中的URL)中


如果你打算从头开始在磁盘上创建一个捆绑包,考虑使用.< /p>为什么你甚至认为你可以将<代码> nScord提交到<代码> cFFLRIF?为什么你甚至认为你可以将<代码> NSncs<代码>转换成<代码> cFFLRIF?