# iOS APP渠道配置 ## 概述 iOS APP是苹果生态系统中的重要应用形态,具有高用户粘性和付费意愿。本文档描述了iOS APP渠道的完整配置流程。 ## 基本信息 - **渠道标识**: `ios_app` - **渠道名称**: iOS APP - **渠道类型**: 移动应用 - **所属分组**: 移动应用 (mobile_app) ## 配置要素 ### 1. 基本配置 ```php // 渠道基本信息 'channel' => 'ios_app', 'name' => 'iOS APP', 'status' => true, // 开启/关闭 'description' => 'iOS移动应用平台接入' ``` ### 2. 应用平台配置 #### 必填参数 - **Bundle ID**: 应用包标识符 - **App Store ID**: 应用商店ID - **推送证书**: APNs推送证书(可选) #### 配置示例 ```php 'ios_config' => [ 'bundle_id' => 'com.yourcompany.yourapp', 'app_store_id' => '1234567890', 'team_id' => 'ABCDEFGHIJ', 'push_cert_path' => '/path/to/push_cert.pem', 'push_cert_password' => 'cert_password', 'environment' => 'production', // production/development ] ``` #### 获取方式 1. 登录Apple Developer Console 2. 创建App ID和证书 3. 在App Store Connect中创建应用 4. 配置推送证书(如需推送功能) ### 3. 支付配置 iOS APP支持以下支付方式: #### 3.1 微信支付 ✅ (推荐) - **状态**: 开启 - **优先级**: 1 - **配置要求**: - 需要开通微信支付商户号 - 配置移动应用支付 - 设置回调地址 ```php 'payment_config' => [ 'wechat' => [ 'enabled' => true, 'app_id' => '微信开放平台AppID', 'mch_id' => '商户号', 'key' => '商户密钥', 'cert_path' => '证书路径', 'notify_url' => '支付回调地址' ] ] ``` #### 3.2 支付宝支付 ✅ - **状态**: 开启 - **优先级**: 2 - **配置要求**: - 需要开通支付宝商户号 - 配置移动应用支付 - 设置支付证书 ```php 'payment_config' => [ 'alipay' => [ 'enabled' => true, 'app_id' => '支付宝应用ID', 'private_key' => '应用私钥', 'public_key' => '支付宝公钥', 'notify_url' => '支付回调地址' ] ] ``` #### 3.3 余额支付 ✅ - **状态**: 开启 - **优先级**: 3 - **说明**: 用户使用账户余额进行支付 ```php 'payment_config' => [ 'balance' => [ 'enabled' => true, 'min_amount' => 0.01, // 最小支付金额 'max_amount' => 50000, // 最大支付金额 ] ] ``` #### 3.4 不支持的支付方式 ❌ - 线下支付 - 货到付款 ### 4. 登录配置 #### 4.1 自动登录 - **状态**: 开启/关闭 - **说明**: 进入应用后,用户将会自动授权登录,未注册用户将会自动注册 ```php 'login_config' => [ 'auto_login' => false, // iOS通常不建议自动登录 'auto_register' => true, ] ``` #### 4.2 绑定手机号 - **状态**: 开启/关闭 - **说明**: 授权登录后,未绑定手机号的用户,将会立即提醒绑定手机号 ```php 'login_config' => [ 'force_mobile' => true, 'mobile_verify' => true, // 手机号验证 ] ``` #### 4.3 第三方登录 - **苹果登录**: 推荐使用 - **微信登录**: 需要配置微信开放平台 - **其他第三方登录**: 根据需要配置 ```php 'login_config' => [ 'apple_login' => [ 'enabled' => true, 'client_id' => 'com.yourcompany.yourapp', 'team_id' => 'ABCDEFGHIJ', 'key_id' => 'KLMNOPQRST', 'private_key_path' => '/path/to/private_key.p8' ], 'wechat_login' => [ 'enabled' => true, 'app_id' => '微信开放平台AppID', 'app_secret' => '微信开放平台AppSecret' ] ] ``` ### 5. 功能特性 | 功能 | 支持状态 | 说明 | |------|---------|------| | 支付功能 | ✅ | 支持微信支付、支付宝支付、余额支付 | | 分享功能 | ✅ | 支持分享到各种平台 | | 定位功能 | ✅ | 支持获取用户地理位置 | | 拍照功能 | ✅ | 支持调用摄像头拍照 | | 推送功能 | ✅ | 支持APNs推送 | ## 配置流程 ### 1. Apple Developer配置 1. **注册开发者账号** - 访问 https://developer.apple.com - 注册开发者账号 - 缴纳年费 2. **创建App ID** - 在Certificates, Identifiers & Profiles中创建 - 设置Bundle ID - 配置所需的Capabilities 3. **创建证书** - 开发证书(Development) - 生产证书(Production) - 推送证书(Push Notifications) 4. **创建Provisioning Profile** - 开发环境Profile - 生产环境Profile ### 2. App Store Connect配置 1. **创建应用** - 在App Store Connect中创建新应用 - 填写应用基本信息 - 设置应用图标和截图 2. **配置应用信息** - 应用描述 - 关键词 - 分类设置 3. **版本管理** - 创建版本 - 上传构建版本 - 提交审核 ### 3. 系统后台配置 1. **基本信息配置** ``` 渠道状态: 开启 渠道名称: iOS APP 渠道描述: iOS移动应用平台 ``` 2. **平台参数配置** ``` Bundle ID: com.yourcompany.yourapp App Store ID: 1234567890 Team ID: ABCDEFGHIJ ``` 3. **支付方式配置** ``` 微信支付: 开启 支付宝支付: 开启 余额支付: 开启 货到付款: 关闭 ``` 4. **登录方式配置** ``` 自动登录: 关闭 绑定手机号: 开启 苹果登录: 开启 微信登录: 开启 ``` ### 4. 开发配置 1. **应用代码配置** ```swift // AppDelegate.swift func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // 配置API基础URL APIManager.shared.baseURL = "https://your-domain.com/api" // 配置第三方SDK configureThirdPartySDKs() return true } ``` 2. **登录授权** ```swift // 苹果登录 @available(iOS 13.0, *) func handleAppleLogin() { let request = ASAuthorizationAppleIDProvider().createRequest() request.requestedScopes = [.fullName, .email] let controller = ASAuthorizationController(authorizationRequests: [request]) controller.delegate = self controller.presentationContextProvider = self controller.performRequests() } ``` 3. **支付调用** ```swift // 微信支付 func payWithWechat(orderInfo: WechatPayOrder) { let request = PayReq() request.partnerId = orderInfo.partnerId request.prepayId = orderInfo.prepayId request.package = orderInfo.package request.nonceStr = orderInfo.nonceStr request.timeStamp = orderInfo.timeStamp request.sign = orderInfo.sign WXApi.send(request, completion: nil) } ``` ## 测试验证 ### 1. 开发环境测试 - 使用Xcode进行开发调试 - 测试登录授权流程 - 测试支付功能 ### 2. TestFlight测试 - 上传到TestFlight进行内部测试 - 邀请测试用户 - 验证完整业务流程 ### 3. 接口测试 ```bash # 测试登录接口 curl -X POST "https://your-domain.com/api/login" \ -H "Content-Type: application/json" \ -d '{"token":"苹果登录token","channel":"ios_app"}' # 测试支付接口 curl -X POST "https://your-domain.com/api/payment/create" \ -H "Content-Type: application/json" \ -d '{"amount":100,"channel":"ios_app","payment_type":"wechat"}' ``` ## 注意事项 1. **苹果审核** - 严格遵守App Store审核指南 - 不能包含违规内容 - 支付功能需要合规 2. **隐私政策** - 必须提供隐私政策 - 明确说明数据收集和使用 - 获取用户同意 3. **第三方SDK** - 确保SDK版本兼容 - 及时更新SDK版本 - 注意SDK隐私合规 4. **版本更新** - 定期发布更新版本 - 及时修复bug - 适配新系统版本 ## 常见问题 ### Q1: 如何配置苹果登录? A: 在Apple Developer中启用Sign in with Apple,配置相关证书和Bundle ID。 ### Q2: 为什么支付功能不工作? A: 检查商户号配置、证书配置,确保回调地址可访问。 ### Q3: 如何处理推送通知? A: 配置APNs证书,在应用中请求推送权限,处理推送消息。 ### Q4: 审核被拒怎么办? A: 仔细阅读拒绝理由,修改相关问题后重新提交审核。 ## 相关链接 - [Apple Developer](https://developer.apple.com/) - [App Store Connect](https://appstoreconnect.apple.com/) - [iOS开发文档](https://developer.apple.com/documentation/ios) - [App Store审核指南](https://developer.apple.com/app-store/review/guidelines/) - [Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/ios/)