You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Storyboard应用迁移至SwiftUI并保留原App Store上架信息

从Storyboard迁移到SwiftUI并保留原App Store条目方案

一、直接在现有项目中切换到SwiftUI(推荐,无需新建App Store条目)

这是最省心的方式,完全能保留原App Store的所有配置(包括权限、上架条目),只需要提交新版本更新即可:

1. 替换应用入口

  • 如果原项目使用UIApplicationDelegate,可以新增一个SwiftUI的App结构体作为新入口:
    @main
    struct YourAppName: App {
        var body: some Scene {
            WindowGroup {
                ContentView() // 你的SwiftUI根视图
            }
        }
    }
    
  • 打开Xcode项目设置,清空"Main Interface"字段,或者直接将入口类指定为这个新的App结构体。
  • 要是需要保留原AppDelegate里的逻辑,用UIApplicationDelegateAdaptor就能兼容:
    @main
    struct YourAppName: App {
        @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
        
        var body: some Scene {
            WindowGroup {
                ContentView()
            }
        }
    }
    

2. 渐进式替换UI(可选)

不想一次性重写所有界面的话,可以混合Storyboard和SwiftUI:

  • 在Storyboard中添加UIHostingController,把SwiftUI视图嵌入进去,逐步替换旧界面。
  • 或者在SwiftUI里用UIViewControllerRepresentable包装原有的UIKit视图控制器,实现双向兼容。

3. 保留原有配置

  • Info.plist、权限描述(比如隐私权限)、签名信息这些都不用改,直接沿用就行。
  • 打包测试时用原Bundle ID,确保权限和第三方依赖和旧版本一致。

二、关于“同一App Store条目下创建新应用”:完全没必要

App Store允许提交同一Bundle ID的新版本更新,不管你用Storyboard还是SwiftUI开发,只要Bundle ID和原应用一致,提交的新版本就会覆盖原条目下的现有版本,根本不需要创建新的应用条目。

注意事项

  • 提交更新前,确保SwiftUI版本的功能和旧版本一致(或更完善),避免因功能缺失被拒。
  • 保留原有测试流程,确认权限、第三方服务在新版本中正常运行。

内容的提问来源于stack exchange,提问作者user19010953

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 14:13:17