繁体   English   中英

在Xcode中构建时保存Interface Builder更改

[英]Saving Interface Builder Changes when building in Xcode

我知道你们中的许多人都经历过相同的情况,你们正在敲打墙壁,想知道你的应用程序出了什么问题,却发现你忘了保存你的Interface Builder更改。

好吧,这从来没有发生在我身上,因为出于某种原因,Xcode会提示我在构建时保存Interface Builder中的任何更改。 一位同事和我正试图弄清楚如何在他的机器上改变这一点,但没有成功。 我必须在iphone开发生命的早期阶段做一些事情来配置它。

有谁知道如何将IB与Xcode链接,以便在构建期间提示保存对IB文件的更改?

其他人问了几乎相同的问题 (链接来自@balanon )。 irsk的回答是:

奇怪的是,它似乎是由使用Xcode中的File> Open Recent Project菜单打开项目,或者使用Xcode欢迎屏幕中的Recent Documents列表引起的。

如果我在Finder中双击项目文件以打开它或从Apple菜单中的Recent Items菜单中选择项目,Xcode与Interface Builder的连接将保持不变。

这是我原来的答案:

你们都有相同版本的Xcode吗? 我注意到,自从我转移到Snow Leopard和Xcode 3.2之后,Xcode和Interface Builder之间的链接并不像早期版本那样强大。 这似乎相当普遍 - 至少我在Twitter上看到了不少抱怨 - 所以希望Apple能解决这个问题。

你是在运行64位时运行32位吗?

我似乎回想起IB基于AppleEvent的64位Xcode通信问题。

不确定,但是您是否安装了最新版本的Apple开发环境? 我的预设。

也许该设置没有通过安装或升级正确传播。 您是否尝试过关闭“For Unsaved Files”设置? (XCode - >首选项 - >构建)

在SnowLeopard之前,IB曾经在我建立时自动保存我的更改。 现在我必须手动保存,否则它不会使用我的最新更改。 此外,IB不会维护或更新其“打开最近的”文件菜单(它是空的)。 与你的好友一起检查他是否在使用Xcode 3.2的SnowLeopard上。

我认为这与xCode prefrences有关。

请参阅“xCode” - >“首选项” - >“构建” - >“对​​于未保存的文件” - >选项

这对我来说也很完美,但是停止了使用Xcode 3.0。 我确定必须有一些隐藏的设置,因为它适用于某些人,可能是那些在Xcode 2.x中激活它的人,但是我还没有找到它。

对于那些感兴趣的人,我有一个解决方法 ,涉及调用一个简单的AppleScript,它保存所有开放的IB文档。 以下是步骤:

1)创建Apple脚本,这些内容如下:

tell application "Interface Builder"
 set num to count of documents
 if num > 0 then
  repeat with i from 1 to num
   tell document i to save
  end repeat
 end if
end tell

2)将其另存为脚本(在我的示例中为/Users/myself/Programming/SaveIBFiles.scpt

3)在您的项目中,创建一个新目标。 这是菜单“Project”»“New Target ...”,选择“Other”»“Shell Script Target”。 我把它命名为“保存IB文件”

4)展开新目标,它已包含“运行脚本”阶段。 调出此Run Script阶段的信息,“常规”选项卡,将Shell保留在/bin/sh并按脚本编写:

if [ -f "/Users/myself/Programming/SaveIBFiles.scpt" ]; then
 osascript "/Users/myself/Programming/SaveIBFiles.scpt"
fi

5)现在选择原始目标,调用其信息,“常规”选项卡,并将新目标添加为直接依赖项。

现在,无论何时构建应用程序,都会调用脚本,保存打开的IB文件,然后编译主目标。 请注意,如果您不创建新目标并仅向主目标添加“运行脚本”构建阶段,则保存似乎发生得太晚。

希望这可以帮助!

尝试从finder窗口打开你的xcode项目。 在我升级到雪豹之后,如果从“最近的文件”选项加载项目,则xcode和IB之间的链接会中断。

这个答案可能与Interface Builder和Xcode集成无关

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM