问题标签 [xcode-project]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5985 浏览

objective-c - 删除 Xcode 中未使用的框架?

随着时间的推移,当您开发应用程序时,您会向其中添加新库,这些库需要新的框架才能正常工作。然后您删除库,如果您像我一样忘记删除最初添加的框架。

有没有办法找出我的代码运行所需的框架?

0 投票
3 回答
2452 浏览

ios - 删除 Xcode 项目中不必要的框架

我一直在编写 iOS 应用程序并完成了一个包含很多框架的项目。现在我使用它作为模板来启动一个需要较少功能的新项目,因此我应该能够减少所需的框架,并希望减少项目的构建时间和大小。

问题:有没有一种快速的方法来检查项目中不再需要哪些框架?

0 投票
1 回答
277 浏览

ios - Xcode iOS项目,如何在不进行版本控制的情况下存储开发用户/通行证

我们开发了一个电子商务应用程序。为方便开发,我们希望自动填充与我们喜欢在我们的电子商务服务器上的任何帐户相对应的用户名和密码。

到目前为止,我能想到的最佳解决方案是:当调试模式处于活动状态时,从名为 debug-credential.plist 的 plist 文件中获取用户名和密码。

为避免将其检入 git,我必须将此文件放入 gitignore。

我还必须将它添加到 Xcode 项目导航器中,以便框架可以在我在包中查找该文件时找到它。

所以,问题是,我希望这个文件是可选的。如果它不存在,并且我的应用程序找不到它,请不要填充密码。

没问题,除了我提交的项目文件需要 debug-credential.plist 文件并且找不到它,因此不会编译。签入带有空字段的 plist 文件会很好,除非开发人员想要指定他们自己的 ecom 凭据,然后 git 会想要签入。

基本上我想要一种方法来拥有一个被 git 忽略的本地文件,我可以在其中为我的应用程序放置可选参数,并拥有它,这样如果开发人员检查出一个新的克隆并且不创建该文件,应用程序仍然会运行,但无法访问参数。

谢谢!

0 投票
1 回答
1811 浏览

xcode - 在 Xcode 中,如何检查环境变量以了解您选择了哪个构建配置或方案?

从我在“项目”>“目标”>“构建阶段”下的“运行脚本”中的脚本中,有一种方法可以知道您运行了哪个构建配置,如果是调试构建配置,我想复制一些私有包文件,但如果是,则不要复制它们发布配置。有没有办法在构建配置中设置环境变量,或者在运行时简单地获取构建配置的名称?

谢谢!

0 投票
1 回答
869 浏览

xcode - 如何导出带有图像的 xcode 项目?

我正在尝试将 Xcode 项目导出到我的新 Mac,但是在创建项目时,添加图像时我没有选中“复制到目标文件夹”。

所以,当我打开包含项目的文件夹时,一些图像丢失了。

在此处输入图像描述

除了处理所有这些单独的图像并将它们也导出之外,没有其他方法吗?(约 100 个)

谢谢!

0 投票
4 回答
14291 浏览

ios - 将 pod 与所有目标集成

我已经在我的 iOS 应用程序中使用 CocoaPods 几个星期了,它与我一直在测试的一个目标(我们称之为“MainApp”)完美配合。但是,我现在想构建一个不同的目标(“MyAppLite”)并注意到构建失败(在 pod 的头文件之一中找不到文件)。

我注意到的构建设置的差异如下:

  • 其他链接器标志不包含 MyAppLite 中所需的框架
  • 框架/标题/库搜索路径在 MyAppLite 中都是空的
  • MyAppLite 中不存在 MainApp 中的任何用户定义的构建设置

如何确保在运行pod install时所有目标都链接了库?

作为参考,这是我的 Podfile:

0 投票
2 回答
288 浏览

opengl - 有没有办法防止 OpenGL 分析器附加到我的应用程序?

我想知道是否有办法阻止“OpenGL Profiler”或“Ins​​truments”附加到我的应用程序,因为它揭示了一些我想隐藏的着色器/进程。

0 投票
1 回答
391 浏览

python - Apple 使用什么数据结构来管理 Xcode 项目?

我最近一直在研究 Xcode 的项目格式,我试图了解将其加载到内存中的最佳方式。作为参考,我在这个实验中使用了 Python。

我正在寻找一种简单的方法来读出项目的内容,以便可以找到磁盘上的任何文件。(一旦我有了文件的路径,我希望能够读取和写入它们。)

Xcode 的文件格式是xcodeproj,它是一个包含多个文件的包。感兴趣的是project.pbxproj文件,因为它包含您在 Xcode 左侧窗格中看到的文件引用和逻辑组。我在 monobjc.net 找到了一个很好的格式参考

pbxproj文件本身是一个 OpenStep 属性列表。它包含一个字典,用于识别构成项目的各种文件和组。对我来说最有趣的是项目引用文件系统的方式。

您需要从该链接知道的是,每个框架、文件引用和 Xcode 项目组都由一个字典表示,该字典除其他外还有一个名为的属性,该属性isa指定对象的种类。每个对象也有一个唯一的标识符作为键。一些条目有路径。文件总是有它们,组有时也有。请允许我解释...

让我们以一个示例文件结构为例,以进行说明:

在此处输入图像描述

在这种情况下,我有一个名为的文件夹Characters,其中包含一个名为Warlock. 在 Xcode 内部,它看起来像这样:

在此处输入图像描述

我有一个名为的组Characters和一个名为Warlock. 本质上,我的组结构反映了我的文件结构。

在 mypbxproj中,实际上有两种方法可以引用磁盘上的文件。名为“Characters”的组的字典表示可以有一个path属性,该属性将指向 Characters/Warlock。该Accessories.bundle文件的路径为Accessories.bundle. 如果我拖入整个文件夹,往往会出现这种情况。

表示这种文件系统排列的第二种方法是在组的字典中没有路径属性,文件引用将具有更完整的路径。如果您单独拖入每个文件,就会发生这种情况。

考虑到组关联,我试图找出遍历这些文件的最佳数据结构。我希望能够读取文件,因此我需要获取完整的路径,即使它们与 Xcode 项目相关。

在 python 中处理字典的好方法是什么?Apple 使用什么数据结构来管理内存中的 Xcode 项目?

0 投票
1 回答
23 浏览

ios - Can I detect what files are in a project at compile time?

We have a suite of apps which share a set of common screens. Some screens have use more functionality in some apps than others. For example, in one app our issue screen supports tags, but in the others it doesn't. In one, our regions screen supports workflows, but in the others it doesn't.

We're using core data, and the different apps have different data models; If an entity isn't used by an app's data model, the corresponding class doesn't get built into that app.

The result of this is that some of our controllers contain references to classes that may or may not exist when the controller is used in a particular app. At the moment, we get around this using "magic" #defines in our apps' PCH files; so some code in our Issue controller is wrapped in #ifdef SGB_ISSUES_HAVE_TAGS and some code in our Regions controller is wrapped in #ifdef SGB_REGIONS_ARE_FILTERED_BY_WORKFLOW.

What I'd like is to do this instead by detecting whether a file has been included in the project. So at the top of our Issue controller I'd have something like this:

and then I could put #ifdef SGB_ISSUES_HAVE_TAGS into SGBIssueTag.h; any app we built that used the issue controller would get the issue tag functionality as soon as we included the IssueTag entity, and we wouldn't have to mess around with the PCH file.

Is anything like this possible?

0 投票
1 回答
592 浏览

plist - 老式 plist 短绒

我正在编写一个生成 .xcodeproj 文件的应用程序。它生成了一个 .pbxproj 文件,但是在 Xcode 中打开它时,我收到一条错误消息,“无法打开,因为无法解析项目文件。” 仅此而已。

是否有可靠的应用程序来解析旧式 plist 的语法?

如果它需要我使用低级 Cocoa API,我可以接受,但至少有一些指针?