通过 Applescript 添加文件到 Xcode 项目目标

2023-11-27

我想将文件自动添加到从头开始创建的 Xcode 项目(通过另一个 IDE)作为构建后步骤。我们的项目设置为调用一个 applescript,该 applescript 在项目中进行适当的文件引用,但每次尝试将文件引用添加到项目都会失败。

核心问题似乎是这个错误: Xcode 出现错误:工作区文档“project.xcworkspace”的项目“TestProject”的 Xcode 3 组 ID“D82DCFB50E8000A5005D6AD8”的文件引用 id“DCDCC17E13819A8E004B4E75”不理解添加消息。

在这一行:

add fileRef to first target of testProject

其中 fileRef 是设置为新创建的文件引用的变量,testProject 是设置为包含 fileRef 的项目的变量。

这是代码:

on run argv

-- Get the folder containing items to be added to the project
tell application "Finder"
    set thisScript to path to me
    set projectFolder to get folder of thisScript as string
    set sourceFolder to projectFolder & "FilesToAdd:"
end tell

-- Get all the files that will be added to Xcode
tell application "System Events"
    set filesToAddList to the name of every disk item of (sourceFolder as alias)
end tell

tell application "Xcode"
    -- Open the project using posix-style paths
    open ((POSIX path of projectFolder) & "TestProject.xcodeproj")

    -- Give Xcode some time to open the project before we start giving it commands
    delay 1

    set testProject to project "TestProject"
    tell testProject
        set sourceGroup to group "Sources"
        tell sourceGroup
            -- Iterate over all files in the list
            repeat with i in filesToAddList

                set fileName to (contents of i)

                -- Get the file path using Unix-style pathing, since that is the kind that Xcode needs
                set filePath to (POSIX path of sourceFolder) & fileName

                -- Don't add duplicate file references
                if filePath is not in path of file references in sourceGroup then
                    -- Add a new file reference to the project
                    set fileRef to make new file reference with properties {name:fileName, full path:filePath, path type:absolute, path:filePath, file encoding:macos roman}

                    -- Add the file reference to the build target
                    add fileRef to first target of testProject
                end if
            end repeat

        end tell -- end group tell

    end tell -- end project tell

end tell -- end app tell

end run

我查找了向目标添加文件的其他示例,这似乎是最干净、简洁的方法,并且它似乎在过去对其他人有效。是否有不同的方式将文件引用添加到目标?

作为参考,我正在运行 OSX 10.6.7 和 Xcode 4.0.2。


所以我向苹果公司发送了关于这个问题的电子邮件,结果证明这是一个错误。我已经提交了错误报告,希望这个问题能尽快得到解决。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 Applescript 添加文件到 Xcode 项目目标 的相关文章

随机推荐

  • package code.google.com/p/go.example/hello: exec: "hg": 在 %PATH% 中找不到可执行文件。如何获取远程golang包?

    我按照 Golang 教程中写的那样做http golang org doc code html remote 我的环境设置 C sbox go example gt set go GOPATH C sbox go example GORO
  • Android OpenGL ES Framebuffer 对象 - 将深度缓冲区渲染到纹理

    我使用的 Android 设备运行 Froyo 支持 OpenGL ES 1 1 和 OpenGL ES 2 0 我想将深度缓冲区渲染为纹理 在看过其他平台 包括 iPhone 上的 OpenGL OpenGL ES 的许多示例后 我尝试了
  • AJAX 文件上传/表单提交无需 jquery 或 iframe?

    是否可以在没有 jQuery 或 IFrames 的情况下进行 AJAX 表单提交 因此只需纯 JavaScript 我目前正在发送到一个可以工作的struts fileUploadAction 该操作的代码是否仍适用于异步提交 或者是否需
  • 我可以在 iOS 上将 HTTP 缓存与 NSURLSessionDownloadTask 一起使用吗?

    我正在尝试使用NSURLSessionDownloadTask 并利用 Apple 内置的 URL 缓存功能 我已经成功地让缓存在使用时起作用NSURLSessionDataTask使用下面的代码 void downloadUsingNSU
  • Haskell 管道和分支

    Problem 我正在尝试使用 Haskell 和 Pipes 库实现一个简单的 Web 服务器 我现在明白循环或菱形拓扑对于管道是不可能的 但我认为我正在尝试这样做 我想要的拓扑结构是 GET gt handleGET gt gt pac
  • 即使在deleteLocalRef之后jni表也会溢出

    当我运行代码时 出现错误 无法添加到 JNI 本地引用表有 512 个条目 这是我的代码 jstring pJNIData pJNIEnv gt NewStringUTF variables 0 GetStringValue pJNIEnv
  • 如何使用自托管 ServiceStack 忽略路由

    我目前正在开发一个解决方案 我们有一个正在运行的自托管 ServiceStack 层 但问题是当我从浏览器访问它并且浏览器尝试获取网站图标时 我不断收到错误 据我所知 在运行自托管时没有忽略特定路由的选项吗 我会想象类似的事情 Routes
  • 如何使用 python 替换/删除 pdf 中的文本? [复制]

    这个问题在这里已经有答案了 我有隐藏 pdf 部分的代码 只需用白色多边形覆盖它 但问题是 文本仍然是there 如果你按 ctrl f 仍然可以找到它 我的目标是实际从 pdf 本身中删除文本 使用 pdfminer 我设法从 pdf 中
  • 为什么 App_Offline 一旦开始加载 dll 就无法工作?

    有人可以帮我解决这个问题吗 在生产站点上 app offline htm 仅在您开始上传 dll 之前有效 一旦您开始上传 dll 它就会抛出以下错误 无法加载文件或程序集 SubSonic 或其依赖项之一 该进程无法访问该文件 因为该文件
  • 关于使用 tf.image.crop_and_resize

    我正在研究适用于 fast rcnn 的 ROI 池化层 并且我习惯使用张量流 我发现tf image crop and resize可以充当 ROI 池化层 但我尝试了很多次都无法得到我期望的结果 或者真正的结果正是我得到的吗 这是我的代
  • sprintf 何时以及为何会失败?

    我正在使用 swprintf 将字符串构建到缓冲区中 使用循环等 const int MaxStringLengthPerCharacter 10 1 wchar t pTmp pBuffer for size t i 0 i lt nNu
  • Java 中的 HTTP URL 地址编码

    我的 Java 独立应用程序从用户那里获取一个 URL 指向一个文件 我需要点击它并下载它 我面临的问题是我无法正确编码 HTTP URL 地址 例子 URL http search barnesandnoble com booksearc
  • 在 JavaFx 中从输入流播放 mp3 文件

    我正在使用 JavaFX 媒体播放器使用以下代码播放 mp3 文件 new MediaPlayer new Media FileObject toURI toString play 但是现在我需要在内存中保存 mp3 字节数据而不是文件对象
  • 强制浏览器使用新的 CSS

    有没有办法检查用户的浏览器是否缓存了不同版本的 CSS 如果是 则强制他们的浏览器提取新版本 我不知道这是否是正确的用法 但我认为您可以使用查询字符串强制重新加载 css 文件 我记得几年前我使用过这种方法来强制重新加载网络摄像头图像 但时
  • 编译器之间的 Dll 兼容性

    有没有办法让不同编译器构建的 c dll 相互兼容 这些类可以具有用于创建和销毁的工厂方法 因此每个编译器都可以使用自己的 new delete 因为不同的运行时有自己的堆 我尝试了以下代码 但它在第一个成员方法上崩溃了 接口 h prag
  • Composer 给出错误,“未找到类”

    我使用的是 Windows 10 创建文件夹后src在根目录中我创建了两个文件 目录结构 运行前composer install composer json run php src childclass php parentclass ph
  • 我怎样才能过渡高度:0;高度:自动;使用CSS?

    我正在尝试做一个 ul 使用 CSS 过渡向下滑动 The ul 开始于height 0 悬停时 高度设置为height auto 然而 这导致它简单地出现 not过渡 如果我从height 40px to height auto 然后它会
  • jQuery:强制显示修改后的dom

    我在尝试在页面上设置一个 加载微调器 时遇到了一个问题 该微调器在对表进行排序时运行 特别是对于速度较慢的客户端 因为对页面进行排序可能需要长达 10 秒的时间 我可以看到 DOM 被微调器代码修改 但它不显示 我希望在排序发生之前我可以做
  • C# 将对象写入二进制文件

    我必须将一个对象写入二进制文件 我的结构如下所示 Struct Company int numberofemployees list of Struct Employee Struct Employee string EmployeeNam
  • 通过 Applescript 添加文件到 Xcode 项目目标

    我想将文件自动添加到从头开始创建的 Xcode 项目 通过另一个 IDE 作为构建后步骤 我们的项目设置为调用一个 applescript 该 applescript 在项目中进行适当的文件引用 但每次尝试将文件引用添加到项目都会失败 核心