【问题标题】:Using a System Plug-in (.saver bundle) inside a Cocoa Application as a Resource在 Cocoa 应用程序中使用系统插件(.saver 包)作为资源
【发布时间】:2011-12-13 14:08:17
【问题描述】:

我是 Cocoa / Objective-C 开发的新手,我有一个问题。

上周我不得不为 Mac 创建一个基于 SWF 的屏幕保护程序,但由于我没有找到适用于 Mac OS X Snow Leopard / Lion 的免费兼容解决方案,我使用 Xcode 4 创建了一个 .saver 包。它在内部创建一个 webview 并加载到 SWF 文件中。

您必须将 SWF 文件放在包内的 Resources 文件夹中,以使其与不同的 SWF 一起使用。

现在,我正在尝试编写一个 Cocoa 应用程序来自动完成。

它有一个简单的用户界面,以便用户可以选择一个 SWF 文件。然后代码会复制我之前构建的 .saver 文件(我已硬编码路径),在其中放置 SWF 文件的副本,并将其保存在用户在保存面板中指定的位置。

我的问题来了。现在我有了硬编码的 .saver 文件的路径,但我需要将它作为我的应用程序中的资源。这有没有可能?我如何使用/访问它?

感谢您的帮助和时间!

【问题讨论】:

    标签: objective-c cocoa xcode4 bundle screensaver


    【解决方案1】:

    假设您没有删除 MainMenu nib,您的应用程序已经拥有至少一个资源。将您的 .saver 包添加到该构建阶段。在应用程序代码中,获取屏幕保护程序包的 URL the usual way

    【讨论】:

    • 感谢您的回复。我试图这样做,但 Xcode 使用 .saver 包资源,而不是包本身。我所做的是创建一个工作区,并将两个项目都添加到其中。然后我必须配置构建设置,并将 .saver(屏幕保护程序插件项目的产品)设置为“复制捆绑资源”,这是我的应用程序的“构建阶段”之一。我可以直接通过拖放来完成。现在,如果我更改屏保插件中的某些内容,当我构建我的应用程序时,它会自动获取最新版本 :) 感谢您的帮助!
    • “我尝试这样做,但 Xcode 使用 .saver 包资源,而不是包本身。”你把什么拖进灵态?您应该能够将 .saver 产品拖入阶段,而无需创建整个单独的项目。
    • 嗨,彼得!我首先做的是将 .saver 文件添加为资源而不拖动,但单击“+”按钮并从文件系统中选择它。我检查了拖动,也很顺利,但如前所述,通过将屏幕保护程序插件项目添加到我的工作区并将其“产品”(构建 .saver 文件)添加为资源,我可以对其进行更改,并且Cocoa App 采用了它的最后一个版本。
    • @jorditost:这仅仅是将产品添加到阶段的结果;它不需要单独的项目。
    • 添加新目标?我这样做是因为我的第一个项目已经完成。我会尝试添加一个新目标。
    猜你喜欢
    • 2011-09-07
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    • 2015-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    相关资源
    最近更新 更多