在Xcode中构建时保存界面构建器的更改
我知道你们中的很多人都经历过相同的情况,在这种情况下,您正在将自己的头撞向墙壁,想知道您的应用程序出了什么问题,只发现您忘记保存界面生成器更改。在Xcode中构建时保存界面构建器的更改
好吧,这绝不会发生在我身上,因为由于某种原因,Xcode会在我生成时提示我保存Interface Builder中的任何更改。一位同事和我正试图弄清楚如何在他的机器上改变这一点,但没有成功。我必须在我的iphone开发生活的早期阶段做一些事情来配置它。
有谁知道如何链接IB与Xcode,以便它会提示在构建过程中保存对IB文件的更改?
这曾经完美工作对我来说,也是如此,而是停在Xcode 3.0工作。我确定必须有一些隐藏的设置,因为它适用于一些,大概是那些在Xcode 2.x中激活的,但我没有找到它。
对于那些感兴趣的,我有一个变通办法,涉及调用一个简单的AppleScript保存所有打开的IB文档。以下是具体步骤:
1)创建了苹果脚本,这些方针的东西:
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)在您的项目中,创建一个新的目标。这是菜单“项目”»“新目标...”,那里选择“其他”»“外壳脚本目标”。我将它命名为“保存IB文件”
4)展开新目标,它已包含“运行脚本”阶段。调用这个运行脚本阶段,“常规”选项卡中的信息,让壳牌在/bin/sh
和脚本写:
if [ -f "/Users/myself/Programming/SaveIBFiles.scpt" ]; then osascript "/Users/myself/Programming/SaveIBFiles.scpt" fi
5)现在选择你原来的目标,调用它的信息,“常规”选项卡,将新目标添加为直接依赖项。
现在,无论何时您构建应用程序,该脚本都会被调用,保存您打开的IB文件,然后编译您的主要目标。 请注意,如果您未创建新目标并仅向主目标添加“运行脚本”构建阶段,则保存似乎太晚了。
希望这会有所帮助!
如果没有其他解决方案出现,我们将尝试此操作。还剩下几天的赏金,所以我想看看还有什么其他的东西出现。谢谢。 – 2009-10-16 13:10:31
是的,一个“本地”的解决方案确实很好。 – Pascal 2009-10-18 11:18:39
好吧,在尝试了所有建议后,似乎没有任何本地的东西出现,所以我会给你提出这个问题的要点。 – 2009-10-22 12:51:52
不确定,但您是否安装了最新版本的Apple开发环境?我的预设。
我正在运行Leopard,并且已经使用Xcode安装了3.1.2 iphone开发环境。 – 2009-10-15 18:04:15
别人问几乎是same question(链接从@balanon)。答案由irsk:
奇怪的是,它似乎是由 使用文件>在Xcode 打开最近的项目菜单,或 在 Xcode的欢迎屏幕使用最近使用的文档列表中打开你的项目引起的。
如果我双击 项目文件中的Finder来打开它,或者选择从最近的项目菜单 项目 Apple菜单,Xcode的到 Interface Builder的连接是否完好。
这里是我原来的答复:
你都有Xcode的相同版本?我注意到,自从我转移到Snow Leopard和Xcode 3.2以来,Xcode和Interface Builder之间的链接不像以前版本那样强大。这看起来相当普遍 - 我至少在Twitter上看到了不少抱怨 - 所以希望苹果能够解决这个问题。
这可能是雪豹的情况,但去年我在一个iPhone课程中,而且我是班上唯一一个有xcode和IB集成工作的人。我们都在同一版本的xcode和相同版本的Leopard上。教练不知道我为什么工作,没有其他人。 – 2009-10-15 18:05:59
我在Xcode 3.2.2的Snow Leopard上,这个解决方案对我来说不起作用。我尝试使用Apple菜单和Finder。 – Senseful 2010-03-21 04:38:32
也许该设置没有通过安装或升级得到正确传播。您是否尝试在关闭时切换“For Unsaved Files”设置? (XCode - >首选项 - >构建)
试过了,它似乎没有什么区别。不管怎么说,还是要谢谢你。 – 2009-10-16 13:14:55
在SnowLeopard之前,IB用于在我构建时自动保存更改。现在我必须手动保存,否则它不会使用我最新的更改。此外,IB不维护或更新其“最近打开的文件”菜单(它是空的)。检查你的好友,看看他是否在Xcode 3.2上使用SnowLeopard。
是的,我的同事在雪豹和xcodd 3.2上。 – 2009-10-16 13:15:29
我认为这与xCode的优势有关。
见 “的Xcode” - > “首选项” - “对于未保存的文件”> - - > “大厦”>选项
是的,这将是一个明显的开始,不幸的是,我们都有设置提示在建设之前保存。它的问题在于Interface Builder集成的某个地方。 – 2009-10-16 12:51:53
你可能在运行64位时运行32位?
我似乎想起IB与基于AppleEvent的64位Xcode通信的问题。
尝试从finder窗口打开您的xcode项目。升级到雪豹之后,如果项目是从Recent Files选项加载的,xcode和IB之间的链接就会中断。
我在Xcode 3.2.2的Snow Leopard上,这个解决方案对我来说并不适用。 – Senseful 2010-03-21 04:39:06
我刚刚升级到雪豹,现在已经失去了我与IB的集成。 – 2010-02-26 22:30:36