标签: xcode4

Xcode可以使用代码的"文件夹引用"吗?

像许多人一样,我希望让Xcode使用一个文件夹结构来镜像磁盘上的文件夹结构.但是,我无法将"文件夹引用"(青色文件夹)中的代码显示在"编译源"下的项目目标中.有没有办法做到这一点?

我甚至设法将"青色"文件夹添加到"编译源"构建阶段,但这不会导致添加该文件夹的内容.

如何使用文件夹引用代码?

xcode xcode4

33
推荐指数
1
解决办法
7774
查看次数

从命令行生成xcarchive到特定文件夹

出于CI的目的,我需要能够在我们的每晚构建中生成XCARCHIVE和IPA文件.IPA适用于我们的测试人员,使用我们的临时密钥签名,XCARCHIVE将发送给客户端,以便他们可以将其导入Xcode并在他们满意时将其提交到应用商店.

通过一些谷歌搜索来生成IPA很简单,但是如何生成.XCARCHIVE文件是我的目标.我发现的最接近的是:

xcodebuild -scheme myscheme archive
Run Code Online (Sandbox Code Playgroud)

但是,这会将.xcarchive存储在一些难以找到的文件夹中,例如:

/Users/me/Library/Developer/Xcode/Archives/2011-12-14/MyApp 14-12-11 11.42 AM.xcarchive
Run Code Online (Sandbox Code Playgroud)

有没有办法控制存档的放置位置,名称是什么,以及如何避免重新编译它?我想最好的结果是从你执行'xcodebuild构建'时生成的DSYM和APP生成xcarchive - 这可能吗?

archive xcode4 ipa

33
推荐指数
4
解决办法
2万
查看次数

如何在Xcode 4中使用隐式依赖项来处理工作空间?

我想使用Xcode 4和Cocoa Touch静态库项目管理工作区中的项目,这些项目包含我可以从其他项目引用的共享代码.根据WWDC 2010视频和Xcode 4文档,Xcode 4中的工作空间有一个"隐式依赖"功能.我一直试图让它工作,我没有取得多大成功.

示例工作区:DependenciesInXcode4.zip

您可以看到最基本的示例项目有2个静态库项目,我将其命名为Library1和Library2.然后我在每个项目中都有一个类,我从名为PrimaryApp的iPhone项目中引用它.在添加import语句时,我得到了Code Sense的支持,但构建失败了.

构建失败

您可以看到构建失败的原因,因为它无法找到依赖项.

构建错误

为解决这些问题,我手动链接了Library1和Library2项目.

手动链接

我还必须将这些项目的路径添加为标题搜索路径.

手动参考标题

现在,当我构建两个依赖库,然后在iPhone模拟器中运行PrimaryApp时,它会成功构建并运行.我发现它并不总是确保在必要时构建依赖项目,这显然是一个手动过程.这不是我认为的"隐式依赖",因为Xcode视频和文档暗示它应该工作.我一直在寻找更具体的例子,但到目前为止我没有运气.即使在Stackoverflow上,我还没有看到令人满意的答案.

看起来开发人员正在回归旧技术而不是真正使用新的"隐式依赖"功能.

我非常感谢帮助理解如何在Xcode 4中使用"隐式依赖"来处理工作空间.

这是我的问题:

  • 如何在工作空间的Xcode 4中使用"隐式依赖"?
  • 为什么不能在PrimaryApp中自动找到Libary1和Library2中的代码?
  • 是否需要进行其他更改才能使依赖项在工作空间中运行?

ios4 xcode4

32
推荐指数
1
解决办法
2万
查看次数

Xcode调试快捷方式

在使用键盘快捷键进行调试时,如何逐步使用Xcode?我想跳出来并进入键盘,我已经找到了键盘等,但没有找到特定动作的键.

xcode4

32
推荐指数
2
解决办法
3万
查看次数

在Xcode中更改了项目名称,导致命名错误

我的旧名字由类似于此的驼峰案类型名称组成

MyApp的

然后我把它改成了

Myapp '注意A现在是非上限'

我通过单击MyApp导航器菜单中的名称并更改它来更改此项,然后出现了一个帮助框,要求我进行系统范围的更改,我单击是!

但现在当我构建这个应用程序时,它说我的应用程序的名称是:

MYAPP-TEMP-CASEINSENSITIVE,重命名

我现在想知道如何摆脱-temp-caseinsensitive-rename部分?

xcode ios xcode4 xcode4.5 xcode4.6

32
推荐指数
3
解决办法
2万
查看次数

将文件添加到Xcode 4中的单独目标

自升级到xcode 4以来,我无法找到指定资源所属目标的位置.以前,我选择了文件并点击命令+ i,但现在这似乎运行程序,而不是打开该文件的信息框.

iphone xcode objective-c targets xcode4

31
推荐指数
2
解决办法
2万
查看次数

如何在Xcode 4中"显示当前行"?

我知道您可以转到首选项并启用编辑器左侧显示的列,显示行号.

但我想问有没有办法在某种状态栏或Xcode UI的任何其他部分显示行号而不启用此选项(类似于Xcode 3所做的那样)?

xcode4

31
推荐指数
2
解决办法
2万
查看次数

如何在主项目xcode 4.1中包含一个包

[更新03/04/2015]

这个问题现在已经有4年了,适用于我现在在主题中指定的特定版本的XCode.


我已经搜索了很多这个论点,但我找不到解决方案,我甚至发布了stackoverflow,但我很快就删除了这个问题,因为访问量很少.现在我再试一次.

我有一个工作区,有两个不同的项目A和B.

B有两个目标,一个构建静态库Blib.a,另一个构建一个束B.bundle.所有这些都构建在派生目录中.

在项目AI中,可以轻松地从构建阶段添加静态库.但是我找不到包含捆绑包的方法.从A中的"复制资源"选项卡看不到B.bundle.因此,我需要手动添加所有这些含义.我还考虑过使用脚本,但我想将它作为最后一个选项.

有人为此解决了问题吗?我错过了什么 ?

谢谢

workspace xcode bundle xcode4

31
推荐指数
2
解决办法
1万
查看次数

Xcode项目的"Build number"

什么是内置编号及其用途?它与版本号是一样的吗?

iphone xcode ios xcode4

31
推荐指数
4
解决办法
2万
查看次数

具有Xcode代码完成的Objective-C Block属性

是否可以定义Objective-C块属性但在Xcode 4中仍然具有完整代码完成?

如果我使用typedef来定义块:

typedef void (^CompletionBlock)(MyObject *myObj);

然后定义属性:

@property (nonatomic, copy) CompletionBlock completionBlock;

然后@synthesize在调用setter时我没有得到完整代码完成的属性.Xcode将使用typedef,因此,代码完成不使用完整块语法完成块参数,它使用typedef.

如果我在标头中定义了一个使用完整块语法而不是typedef的方法原型:

@property (nonatomic, copy) void (^completionBlock)(MyObject *myObj);

然后我使用@synthesize,提供的setter接近使用完整的代码完成语法,但关键是它省略了参数名称:

[self setCompletionBlock:(void (^)(MyObject *)) { ... }

最后,如果我尝试@synthesize然后覆盖setter实现或将原型放在头文件中:

- (void)setCompletionBlock:(void (^)(MyObject *myObj))completionBlock {...}

会出现一条警告,指出属性类型与访问者类型不匹配.无论我如何尝试使用语法,我都无法定义块属性和具有完整代码完成语法的setter.我可以吃蛋糕吗?

谢谢!

xcode objective-c ios objective-c-blocks xcode4

31
推荐指数
1
解决办法
2万
查看次数