我知道你们中的许多人都经历过相同的情况,你们正在敲打墙壁,想知道你的应用程序出了什么问题,却发现你忘了保存Interface Builder的更改。
嗯,这从来没有发生在我身上,因为出于某种原因,Xcode会提示我在构建时保存Interface Builder中的任何更改。一位同事和我正试图弄清楚如何在他的机器上改变这一点,但没有成功。我必须在iphone开发生命的早期阶段做一些事情来配置它。
有没有人知道如何将IB与Xcode链接,以便在构建期间提示保存对IB文件的更改?
答案 0 :(得分:3)
其他人几乎问了same question(来自@balanon的链接)。答案由irsk:
奇怪的是,它似乎是由 使用文件>打开您的项目 在Xcode中打开“最近的项目”菜单,或 通过使用最近的文档列表 Xcode欢迎屏幕。
如果我双击项目文件 Finder打开它或选择 来自最近项目菜单中的项目 Apple菜单,Xcode的连接 Interface Builder完好无损。
这是我的原始答案:
你们都有相同版本的Xcode吗?我注意到,自从我转移到Snow Leopard和Xcode 3.2之后,Xcode和Interface Builder之间的链接并不像早期版本那样强大。这看起来相当普遍 - 我至少在推特上看过不少抱怨 - 所以希望Apple能解决这个问题。
答案 1 :(得分:2)
你在运行64位时可能正在运行32位吗?
我好像回想起IB基于AppleEvent的64位Xcode通信问题。
答案 2 :(得分:1)
不确定但是您是否安装了最新版本的Apple开发环境?我被预设了。
答案 3 :(得分:1)
也许该设置未通过安装或升级正确传播。您是否尝试过关闭“For Unsaved Files”设置? (XCode - >偏好设置 - >建筑物)
答案 4 :(得分:1)
在SnowLeopard之前,IB曾经在我建立时自动保存我的更改。现在我必须手动保存,否则它不会使用我的最新更改。此外,IB不会维护或更新其“打开最近的”文件菜单(它是空的)。与你的好友一起检查他是否使用Xcode 3.2在SnowLeopard上。
答案 5 :(得分:1)
我认为这与xCode prefrences有关。
参见“xCode” - > “偏好” - > “建筑” - > “对于未保存的文件” - >选项
答案 6 :(得分:1)
这对我来说也很完美,但是停止使用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)展开新目标,它已包含“运行脚本”阶段。调出此运行脚本阶段的信息,“常规”选项卡,将Shell保留在/bin/sh
并按脚本编写:
if [ -f "/Users/myself/Programming/SaveIBFiles.scpt" ]; then osascript "/Users/myself/Programming/SaveIBFiles.scpt" fi
5)现在选择原始目标,调用其信息,“常规”选项卡,并将新目标添加为直接依赖。
现在,无论何时构建应用程序,都会调用脚本,保存打开的IB文件,然后编译主目标。 请注意,如果您不创建新目标并仅向主目标添加“运行脚本”构建阶段,则保存似乎发生得太晚。
希望这有帮助!
答案 7 :(得分:1)
尝试从finder窗口打开xcode项目。升级到雪豹后,如果项目是从“最近的文件”选项加载的,则xcode和IB之间的链接会中断。
这个答案可能有关系 Interface Builder and Xcode integration not working