---
title: "在 Xcode 中进行 StoreKit 测试"
description: "在沙盒环境中测试购买流程，确保交易顺畅。"
---

在 Xcode 中进行 StoreKit 测试，无需设置沙盒账户即可在本地测试应用内购买。

进行此类测试，您需要：

1. [在 Adapty 中创建产品](quickstart-products)并为其分配 **App Store product ID**。
2. 在 Xcode 中，创建一个本地 [StoreKit 配置文件](https://developer.apple.com/documentation/xcode/setting-up-storekit-testing-in-xcode)并向其中添加产品。产品 ID 必须与 Adapty 中的 **App Store product ID** 相同。
3. 将 StoreKit 配置文件添加到您的构建方案并构建应用。在模拟器或设备上启动它。

## 我应该使用 Xcode 中的 StoreKit 测试吗？\{#should-i-use-storekit-testing-in-xcode\}

如果您是应用开发者，希望随时测试构建版本或使用 Xcode 功能测试不同的购买场景，这种测试方式最为方便。

但请注意，这种测试是本地进行的，因此不会在 Adapty 看板上显示任何变更。在将应用发布到生产环境之前，我们建议您在[沙盒环境](test-purchases-in-sandbox)中测试[用户画像相关功能](ios-quickstart-identify)。

**应该**使用 StoreKit 测试的场景：
- 测试购买逻辑
- 使用 Xcode 工具重现不同的购买场景（例如取消付款或退款）
- 使用模拟器进行测试

**不应该**使用 StoreKit 测试的场景：
- 测试用户画像相关逻辑
- 查看应用中的操作是否显示在 Adapty 看板中
- 与非开发团队共享应用进行测试

## 第一步：创建 StoreKit 配置文件\{#step-1-create-a-storekit-configuration-file\}

在 Xcode 中创建 StoreKit 配置文件：

1. 点击 **File > New > File from template**，然后选择 **StoreKit Configuration File** 并点击 **Next**。

2. 为文件命名。然后，根据您是否已在 App Store Connect 中创建了产品进行选择：
   - 勾选 **Sync this file with an app in App Store Connect**：创建一个包含所有 App Store Connect 产品的配置文件，以便在本地测试。
   - 不勾选 **Sync this file with an app in App Store Connect**：创建一个空配置文件，需手动添加产品。
   
   点击 **Next**。

3. 不要将应用添加为目标，直接继续。如果您使用的是从 App Store Connect 同步的产品，请跳至[第二步](#step-2-add-the-configuration-file-to-the-build-scheme)。
4. 如果您的产品未从 App Store Connect 同步，点击左下角的 **+** 并选择产品类型。

5. 输入订阅组名称并点击 **Next**。

6. 输入参考名称。在 **Product ID** 字段中，输入您在 Adapty 中产品的 **App Store product ID**。

7. 在配置文件中配置定价、优惠及其他产品设置，或继续添加更多产品。

## 第二步：将配置文件添加到构建方案\{#step-2-add-the-configuration-file-to-the-build-scheme\}

要使用此配置文件构建应用，您需要将其添加到构建方案中。最佳实践是将测试方案与生产方案分开，因此我们建议为测试创建一个新方案：

1. 在顶部点击应用名称并选择 **New scheme**。

2. 输入方案名称并点击 **OK**。

3. 再次点击应用名称并选择 **Edit scheme**。在 **StoreKit configuration** 中，选择您的本地配置文件，这样构建时将使用该文件。

## 第三步：构建并测试\{#step-3-build--test\}

现在，您可以构建应用并测试应用内购买，无需连接到 App Store 后端。您可以在本地购买产品并获取访问等级。这些更改不会反映在 Adapty 看板中，但您仍可以在本地测试解锁付费功能。

[了解更多](https://developer.apple.com/documentation/xcode/testing-in-app-purchases-with-storekit-transaction-manager-in-code)关于在 Xcode 中进行 StoreKit 测试的其他可用功能。