Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何从带有碳的插件内部获得捆绑引用?

如何从带有碳的插件内部获得捆绑引用?
EN

Stack Overflow用户
提问于 2010-03-26 04:16:39
回答 3查看 1.4K关注 0票数 3

我正在使用碳框架在Mac上编写一个C++插件(是的,是的,我知道,苹果反对碳,但目前我无法将这段代码迁移到Cocoa)。我的插件由主应用程序加载,我需要获得插件的CFBundleRef引用,这样我就可以访问它的资源。

问题是,当我在插件的初始化例程中调用CFBundleGetMainBundle()时,它会返回对主机的包引用的引用,而不是插件的引用。

注意:我不愿使用编译时确定的任何内容,包括使用硬编码字符串标识符调用CFBundleGetBundleWithIdentifier()。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-26 04:23:21

请参阅这篇文章出现在carbon dev邮件列表上。,这似乎是一种类似的情况。

给出的方法是

我建议使用CFBundleGetBundleWithIdentifier。您的插件应该有一个唯一的标识符;类似于“com.apple.dts.iTunes_plug”之类的东西。在插件的包的CFBundleIdentifier中查找info.plist属性。

票数 1
EN

Stack Overflow用户

发布于 2010-03-26 05:10:19

注意:我不愿使用编译时确定的任何内容,包括使用硬编码字符串标识符调用CFBundleGetBundleWithIdentifier()。

因为那是湿的对吧?

下面是你如何使这个解决方案变干。

首先,在头文件中为此定义一些宏,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#define MY_PLUGIN_BUNDLE_IDENTIFIER com.example.wiflamalator.photoshop-plugin
#define MY_PLUGIN_STRINGIFY(x) #x
#define MY_PLUGIN_BUNDLE_IDENTIFIER_STRING MY_PLUGIN_STRINGIFY(MY_PLUGIN_BUNDLE_IDENTIFIER)

将头文件导入调用CFBundleGetBundleWithIdentifier的代码中。在该代码中,使用CFSTR(MY_PLUGIN_BUNDLE_IDENTIFIER_STRING)

然后,在Xcode中,将该文件设置为您的Info.plist前缀头,或者(如果已经设置了)将其设置为该头。最后,在Info.plist中,将包标识符设置为MY_PLUGIN_BUNDLE_IDENTIFIER (当然是在字符串值中)。

现在您已经将包标识符写在一个地方(标头)中,C预处理程序将它放在需要的所有位置,因此您可以使用CFBundleGetBundleWithIdentifier查找您自己的包。

票数 0
EN

Stack Overflow用户

发布于 2013-06-05 12:58:55

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#ifdef __APPLE__
#include "CoreFoundation/CoreFoundation.h"
#endif

#ifdef __APPLE__
    // This should be actually defined somewhere else
    #define MY_PLUGIN_BUNDLE_IDENTIFIER com.yourbundle.name

    // Then all the regular stuff
    #define QUOTE(str) #str
    #define EXPAND_AND_QUOTE(str) QUOTE(str)
    #define MY_PLUGIN_BUNDLE_IDENTIFIER_STRING EXPAND_AND_QUOTE(MY_PLUGIN_BUNDLE_IDENTIFIER)

    CFBundleRef mainBundle = CFBundleGetBundleWithIdentifier(CFSTR(MY_PLUGIN_BUNDLE_IDENTIFIER_STRING));
    CFURLRef resourcesURL = CFBundleCopyResourcesDirectoryURL(mainBundle);
    char path[PATH_MAX];
    if (!CFURLGetFileSystemRepresentation(resourcesURL, TRUE, (UInt8 *)path, PATH_MAX))
    {
        // error!
    }
    CFRelease(resourcesURL);

    chdir(path);
    StoragePaths::setApplicationResourcesDirectory(STR(path));
#endif

打印到您的包的路径

注意:对于JUCE用户,使用JucePlugin_CFBundleIdentifier而不是MY_PLUGIN_BUNDLE_IDENTIFIER,您就都设置好了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2523122

复制
相关文章
插件捆绑目录
---- 插件是一个或多个脚本的集合。每个脚本定义一个或多个以某种方式扩展Sketch的命令。 在磁盘上,插件是具有.sketchplugin文件扩展名的文件夹,包含文件和子文件夹。 严格来说,插件实际上是一个OS X软件包,被安排为OS X软件包。 包是Finder向用户呈现的任何目录,就好像它是单个文件一样(您可以使用Finder中的“ 显示包内容”命令查看内部)。 一个包是一个具有标准化层次结构的目录,该目录包含可执行代码和该代码使用的资源。 Sketch插件不允许本机编译代码,但我们确实使用标准包
iOSDevLog
2018/05/17
1.2K0
从宿主机获得Docker内部IP
在Docker内部获取IP Docker内部里面,ipconfig/ip 等命令是无法使用的,正确的命令是 $ hostname -I 172.24.116.11 在宿主机获得Docker的IP 假设你已经有了一个Docker,ID是f864187a2406 $ docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' f864187a2406 172.24.116.11 $ docker inspect --
用户8851537
2021/07/22
1.4K0
Roslyn 如何获得一个类的引用
在 C# 代码里面,大部分的代码都是在开始定义了 using 引用命名空间,本文将告诉大家如何使用 Roslyn 分析获取类文件里面引用的命名空间
林德熙
2021/12/24
1.3K0
制作带有kafka插件和es插件的fluentd镜像
Fluentd是用于统一日志记录层的开源数据收集器,是继Kubernetes、Prometheus、Envoy 、CoreDNS 和containerd后的第6个CNCF毕业项目,常用来对比的是elastic的logstash,相对而言fluentd更加轻量灵活,现在发展非常迅速社区很活跃,在编写这篇blog的时候github的star是8.8k,fork是1k就可见一斑.
用户2672162
2021/02/05
1.1K0
如何从结果集中获得随机结果
全表扫描(Full table Scan) 全表扫描返回表中所有的记录。 执行全表扫描,Oracle读表中的所有记录,考查每一行是否满足WHERE条件。Oracle顺序的读分配给该表的每一个数据块,这样全表扫描能够受益于多块读. 每个数据块Oracle只读一次.
数据和云01
2018/09/10
1.6K0
10.3 Git 内部原理 - Git 引用
我们可以借助类似于 git log 1a410e 这样的命令来浏览完整的提交历史,但为了能遍历那段历史从而找到所有相关对象,你仍须记住 1a410e 是最后一个提交。 我们需要一个文件来保存 SHA-1 值,并给文件起一个简单的名字,然后用这个名字指针来替代原始的 SHA-1 值。
shaonbean
2019/05/26
8630
10.5 Git 内部原理 - 引用规格
纵观全书,我们已经使用过一些诸如远程分支到本地引用的简单映射方式,但这种映射可以更复杂。 假设你添加了这样一个远程版本库:
shaonbean
2019/05/26
6270
早发arXiv可多获得65%的引用,但……
对研究人员来说,这么做主要有两个好处。一方面尽早占坑,另一方面可以绕过漫长的同行评议时间,加速圈内人交流工作进展。
量子位
2018/07/24
1.1K0
早发arXiv可多获得65%的引用,但……
Chrome插件:(NoFollow)自动标出带有nofollow的a链接
声明:本文由w3h5原创,转载请注明出处:《Chrome插件:(NoFollow)自动标出带有nofollow的a链接》 https://www.w3h5.com/post/214.html
德顺
2019/11/13
6710
Chrome插件:(NoFollow)自动标出带有nofollow的a链接
Slice如何从网络消费数据中获得商机
和大多人一样,斯科特·布雷迪(Scott Brady)通过谷歌购物(Google Shopping)和亚马逊生鲜(Amazon Fresh)等各种网站,从网上购买的东西越来越多。 但即使亚马逊已创立近20年,对购买者是谁、购买了什么产品、怎样购买和购买原因的追踪,依然很难筛选出一个结果来。我们对消费者行为到底都了解些什么?多数消费者行为都是从小规模消费者群体推断、预测或推测的。当市场营销人员从数据经纪商处购买信息时,很多信息都陈旧不堪或者不完整。 这就是布雷迪的网购数据分析公司Slice为何如此激发人兴趣的
大数据文摘
2018/05/23
1.5K0
引用的条件及从汇编角度理解引用
(1)定义引用时必须进行初始化。 (2)初始化的值要能取地址,不能用一个立即数进行初始化。
lexingsen
2022/02/24
5390
引用的条件及从汇编角度理解引用
jmeter如何使用内部插件监控压测资源信息
性能测试工作中,经常有同学要使用PerfMon内部插件对压测资源进行监控,本文简单介绍下该插件如何使用 一、安装PerfMon插件 1. 启动jmeter,进入选项》Plugins Manager
jmeter技术研究
2019/10/19
1.1K0
jmeter如何使用内部插件监控压测资源信息
低碳企业和个人如何参与碳交易市场?
上次讲到碳市场是强制参与的,而且是分行业分批参与。但市场上还有很多低碳企业,比如做新能源汽车的、光伏发电的等等。这些企业怎么参与碳交易市场?
石云升
2022/08/25
4360
内部类只能访问final的局部变量_java内部类引用外部变量
前不久在学习中意外发现了自己原来忽略的一个小知识点,挺有意思的,现在我来给大家分享一下!
全栈程序员站长
2022/11/18
9510
内部类只能访问final的局部变量_java内部类引用外部变量
带有支付功能的产品如何测试?
软件测试人员在进行测试的时候,根据测试项目或者测试对象的不同,会采用不同的方式方法来进行测试,那么,带有支付功能的产品该如何测试呢?在测试过程中又应该注意些什么?
软件测试君
2021/11/09
1.1K0
“云减碳”成趋势,如何用“计算”帮助企业碳减排?
将数据中心“丢进”水里、“扔进”山里,使用风能、太阳能等清洁能源为数据中心供电……这些都是通过物理方法为数据中心减碳。
科技云报道
2023/08/03
3800
“云减碳”成趋势,如何用“计算”帮助企业碳减排?
如何从复盘中获得真正的收获?持续改进是关键!
复盘,本是围棋术语,每次博弈结束后,双方棋手把刚才的对局复演一遍,分析对局当中得失关键,提升自己棋力的好方法。复盘是对思维的训练。 通过复盘,当类似局面再次出现,你就能快速预测接下来的动态走向,更好应对。
JavaEdge
2023/06/10
4440
如何从复盘中获得真正的收获?持续改进是关键!
Android无引用类查找插件
在排查项目中的代码垃圾时,处理无引用类是最简单直接的,因为没有其他代码引用到它,直接删除也不会影响到项目。但靠人肉去检索项目中所有的类是否有引用又显得是重复低效的,所以在这里提供一个方案,做成gradle插件供大家参考。
Jeffery
2020/06/07
1.7K0
Android无引用类查找插件
捆绑销售 能否再造广联达?
“未来,建筑行业信息化的征途是星辰大海。”在 8 月 10 日广联达推出的 20 周年主题纪录片中出现了似曾相识的一句,星辰大海好像成了各个行业的最终归宿。
人称T客
2018/09/29
1.1K0
捆绑销售 能否再造广联达?
为什么以及如何从web.xml中获得参数?
马克-to-win:本 节要介绍几种从web.xml中获取参数的方法。有同学问,从web.xml当中获取参数有什么必要呢?直接把参数写到web.xml当中不就完了。实际 上在很多情况下,程序员编程序的
马克java社区
2021/07/07
9730

相似问题

如何从函数内部获得对函数的引用?

11

我如何获得使用碳/碳的夜数?

218

带有内部引用的惰性

11

带有rails 2.3.5的捆绑包和带有'require‘的插件

11

石墨/碳如何获得每秒的指标

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文