问题标签 [xcode-scheme]

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 投票
1 回答
344 浏览

xcode - Xcode 8 - 在后台构建所有方案

我使用 Xcode (8.2.1) 方案来构建具有不同配置的项目: 在此处输入图像描述

每次我更改代码中的某些内容并点击Command+R运行项目时,Xcode 都会构建所有方案:

在此处输入图像描述

AFAIK,Xcode 7 并非如此。它非常沉重,并且减慢了一切速度……

Find Implicit Dependencies我在方案配置中禁用了,问题仍然存在。

您知道在后台禁用未选择方案构建的方法吗?

0 投票
0 回答
550 浏览

xcode - 如何从 Xcode 方案构建预操作修改构建设置

我需要在构建期间通过方案预构建操作修改某些构建设置。那么如何从方案构建预操作更改构建设置变量的值,例如前缀标头路径或配置文件名称。

0 投票
1 回答
30 浏览

xcode - 由于缺少消毒剂,旧 macOS 中的 XPC 进程崩溃

当我在 Xcode 9.1 中构建我的 macOS 应用程序的 Debug Build 并将其移动到运行 macOS 10.11 或 10.12 的 Mac 上进行测试时,我发现我的应用程序的 XPC 进程在加载时崩溃,并且崩溃报告表明原因是系统在旧系统中找不到新的 sanitizer 框架。好的,我知道这些框架在旧 macOS 版本中不存在。而且,如果我在 Xcode中方案的Run > Diagnosics部分禁用 Address Sanitizer、Thread Sanitizer 和 Undefined Behavior Sanitizer ,然后重新构建,问题就解决了。

这里有些事情没有意义。为什么Xcode Scheme的Run部分明显影响Build?为什么只有XPC进程崩溃?

0 投票
1 回答
32 浏览

ios - How can I force/setup the right keyboard in the iOS Simulator during tests?

The app has a Chinese localization and runs with Scheme options (see image).

When I hit the text field, I would expect a Chinese keyboard and not a German one.
I only see German, English and Emoji keyboards.

Is there any way to tell the Simulator which keyboard should be used by default?

Scheme options and Simulator screenshot

0 投票
2 回答
762 浏览

xcode - React Native:模拟后台获取已禁用

我正在尝试在 React Native 项目中模拟后台获取

React Native 版本 0.57.3 Xcode 版本 10.0 (10A255)

我已经在 Xcode 上打开了 ios 项目,然后构建项目然后运行它,但是模拟后台获取的选项被禁用,如下面的屏幕截图所示:

模拟后台获取已禁用

无论是在真实设备中,我在模拟器中运行时都得到了相同的结果。

如何让它工作?或者它的原因是什么?

项目配置如截图:

Xcode:项目能力截图

Xcode:方案选项

0 投票
0 回答
37 浏览

xcode - 如何在 Xcode 中使用具有相同类名的不同源文件进行模拟?

我的 Xcode 项目包含两个目标:

  • main 包含主要源代码
  • uiTest 包含用于 ui 测试的代码

所以它有一个名为的文件DIResolver,用于提供我的依赖项。当我构建主要目标时,它工作正常,但是当我开始 UI 测试时,我需要模拟一些依赖项。

主要问题是:我可以在两个不同的地方(例如)使用相同的文件名(例如)通过方案解决吗?如何解决realmock

0 投票
1 回答
322 浏览

ios - 切换方案后 Xcode 配置不会改变

在我的 Xcode 项目中,我设置了两个方案:Dev 和 Release;每个都对应同名的配置。

问题是,当我激活 Release 方案时,项目仍然使用 Dev 配置:在项目详细信息中,我看到属于 Dev 的产品名称和捆绑标识符。

这是 Release 的方案设置。如您所见,为所有模式选择了 Release 配置。

为所有模式选择了 Release 配置

这是我在“身份”窗格中看到的激活了“发布”方案的内容:

开发配置仍处于选中状态

是 Xcode 错误还是我做错了什么?我怎样才能解决这个问题?

0 投票
1 回答
167 浏览

react-native-ios - 复制多方案的调试配置在 React 本机 iOS 中不起作用

我已经使用 react native 开发了我的项目,现在我正在尝试为我的 dev、uat 和 prod 环境实现多方案。

对于上述情况,我已经设置了方案并为每个方案复制了发布和调试配置,并指定了不同的包 ID、不同的应用程序名称、用户定义的变量。现在我的情况是,如果我在本地运行该方案(至于运行调试配置已设置),那么我将陷入以下错误:

线程 6:“未处理的 JS 异常:Invariant Violation:TurboModuleRegistry.getEnforcing(...): 'DevSettings' 找不到。验证该名称的模块是否已在 na... 中注册,堆栈:\ngetEnforcing@4725 :28\n@41349:50\nloadModuleImplementation@271:14\n@41308:40\nloadModuleImplementation@271:14\n@35877:18\nloadModuleImplementation@271:14\n@28987:16\nloadModuleImplementation@271:14 \nguardedLoadModule@163:47\n全局代码@326655:4\n"

由于未捕获的异常“RCTFatalException: Unhandled JS Exception: Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'DevSettings' 找不到而终止应用程序。验证此名称的模块是否已在本机二进制文件中注册。',原因:'未处理的 JS 异常:不变违规:TurboModuleRegistry.getEnforcing(...):找不到'DevSettings'。验证该名称的模块是否已在 na...,堆栈中注册:

*** 我附上了我使用发布构建配置(开发)和调试构建配置(开发调试)的开发方案设置的屏幕截图

检查此图像

供参考:

如果我为运行、测试和分析选择发布构建配置并运行该方案,那么它工作正常,但在这种情况下,我不能将调试器用于我的开发目的。

此外,我在使用 CICD 存档或发布存档到 testflight 时没有任何问题,因为我在方案设置下选择了存档和配置文件的发布配置。

请帮帮我,因为这会使开发变得非常困难,因为我无法访问调试器窗口。

期待得到积极的帮助。

谢谢

0 投票
2 回答
550 浏览

ios - Xcode / IOS 具有相同代码库/项目的多个应用程序

我正在尝试设置 xcode 以允许我使用相同的代码构建/发布 2 个应用程序,但具有不同的应用程序图标、资产和不同的数据库。

如果我有 2 个应用程序使用相同的代码:

  • app 1:水果列表(显示水果列表)
  • 应用 2:Veggie 列表(显示 Veggie 列表)

对于这两个应用程序,我将有一个唯一的捆绑 ID(当然)、相同的代码,但不同的图像和数据库。如何将 Xcode 设置为拥有 1 个项目并能够选择我想要构建的应用程序?

我似乎明白我们可以选择使用方案、目标或构建配置,但到目前为止,我发现比其他任何事情都更令人困惑。

欢迎对此提出任何建议/帮助!在这种情况下,拥有多个项目并将更改从一个复制到另一个,这听起来像是一个疯狂的解决方案。

谢谢你。

0 投票
1 回答
107 浏览

xcode - 确定是否正在使用 Xcode StoreKit 配置文件

Xcode 12 引入了StoreKit 配置文件,这些文件非常适合在深入研究 App Store Connect、沙盒等之前测试基本的 StoreKit 功能。

有没有办法在运行时(甚至在编译时)确定方案的StoreKit Configuration值是设置为“无”还是某个文件?