Firebreath如何在不调试的情况下知道我的方法是否被调用

发布于 2024-12-09 20:26:51 字数 1544 浏览 2 评论 0原文

我在我的 firebreath 项目中使用 Objective-C++。问题是我正在使用 Xcode 4,并且找不到调试项目的方法。所以我就想过我的方法是不是从网页上调用的。 这是我的源代码: 在我的 OpenOnDesktopPluginAPI.h 类中:

class OpenOnDesktopPluginAPI : public FB::JSAPIAuto
{
    public:
    OpenOnDesktopPluginAPI(const OpenOnDesktopPluginPtr& plugin, const FB::BrowserHostPtr& host);
    virtual ~OpenOnDesktopPluginAPI();
    OpenOnDesktopPluginPtr getPlugin();
   ...
   //This is my method 
   void runNotification();
   ...
};

在我的 OpenOnDesktopPluginAPI.mm 类中:

OpenOnDesktopPluginAPI::OpenOnDesktopPluginAPI(const OpenOnDesktopPluginPtr& plugin,     const FB::BrowserHostPtr& host) : m_plugin(plugin), m_host(host)
{
    ...
    //Register my method
    registerMethod("runNotification",  make_method(this, &OpenOnDesktopPluginAPI::runNotification));
    ...
}

//DistributedNotification 类是我的 Objective-C 类,具有发布分布式通知的实现。

void OpenOnDesktopPluginAPI::runNotification()
{
     DistributedNotification * notificationClass = [[DistributedNotification alloc] init]; 
    [notificationClass postNotification];
    [notificationClass release];
}

在我的 FBControl.html 中: ... 函数 myFunction() { 插件().runNotification(); } ... 我的新方法
...

 Build Phases -> "Compile Sources"

我将我的 DistributedNotification.mm 类放入我的插件目标 。 但我不知道我的 runNotification 方法是否被调用,因为当(在我的网页中)我单击 My new method 链接时,没有任何反应。

I am using Objective-C++ in my firebreath project. The problem is that I am using Xcode 4 and I can not find the way to debug my project. So I have thought about if my method is been called from the web page.
Here is my source code:
In my OpenOnDesktopPluginAPI.h class:

class OpenOnDesktopPluginAPI : public FB::JSAPIAuto
{
    public:
    OpenOnDesktopPluginAPI(const OpenOnDesktopPluginPtr& plugin, const FB::BrowserHostPtr& host);
    virtual ~OpenOnDesktopPluginAPI();
    OpenOnDesktopPluginPtr getPlugin();
   ...
   //This is my method 
   void runNotification();
   ...
};

In my OpenOnDesktopPluginAPI.mm class:

OpenOnDesktopPluginAPI::OpenOnDesktopPluginAPI(const OpenOnDesktopPluginPtr& plugin,     const FB::BrowserHostPtr& host) : m_plugin(plugin), m_host(host)
{
    ...
    //Register my method
    registerMethod("runNotification",  make_method(this, &OpenOnDesktopPluginAPI::runNotification));
    ...
}

//DistributedNotification class is my objective-c class with the implementation for post a distributed notification.

void OpenOnDesktopPluginAPI::runNotification()
{
     DistributedNotification * notificationClass = [[DistributedNotification alloc] init]; 
    [notificationClass postNotification];
    [notificationClass release];
}

In my FBControl.html:
...
function myFunction()
{
plugin().runNotification();
}
...
My new method
...

I put my DistributedNotification.mm class in the

 Build Phases -> "Compile Sources"

for my plugin target.
But I don´t know if my runNotification method is called, because when (In my web page) I click on My new method link, nothing happens.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼波传意 2024-12-16 20:26:51

当你问的时候,我会重复我在论坛上说过的话;也许你还没有看到这个答案:

首先,你可以使用Xcode4进行调试,至少在某些浏览器上;诀窍是弄清楚要连接到哪个进程。

其次,您始终可以使用 NSLog 将内容记录到控制台。第三,您可以使用 log4cplus (请参阅 http://www.firebreath.org/display/documentation/Logging )。

最后,您没有指定正在测试的浏览器,也没有指出会发生什么。看起来很有道理,但显然行不通?什么不起作用?它有什么作用?

如果没有有关您所遇到情况的详细信息,几乎不可能为您提供任何有用的建议。

I'll repeat what I said on the forum when you ask; perhaps you haven't seen that answer yet:

First of all, you can debug with Xcode4, at least on some browsers; the trick is figuring out which process to connect to.

Secondly, you can always use NSLog to log things to the console. Thirdly, you could use log4cplus (see http://www.firebreath.org/display/documentation/Logging).

Finally, you haven't specified what browser you're testing on, nor have you indicated what happens. It looks reasonable, but aparently doesn't work? What doesn't work? What does it do?

It's nearly impossible to give you any useful advice without detailed information about what you are encountering.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文