ios - Xcode 9 的多发布环境 - Swift

标签 ios xcode duplicates target

我已经完成了一个项目的编写并发布到了AppStore。现在我想复制该项目并更改 bundle ID、签名证书、启动画面、 Storyboard中使用的项目特定链接和图像。

因为模型类和业务模型根本不会改变。并且不要复制粘贴项目,而是更改类,并且当在两个项目上修复它时出现错误时,更改将仅在同一项目的界面和签名内容上。

这可能吗?

有办法做到这一点吗?

最佳答案

您应该创建目标的副本,这将允许您创建具有相同项目业务(代码)逻辑和不同捆绑 ID、签名证书、启动画面、项目特定链接的单独应用。

以下是创建重复目标的步骤:

  1. 选择您的项目目标(项目>>常规>>选择目标)
  2. 右键单击项目目标
  3. 选择复制(菜单弹出窗口将提供创建重复目标的选项)

enter image description here

  • 这是您的目标的副本,您可以将其作为具有相同业务逻辑的新应用进行分发。
  • enter image description here

    如果您的源代码文件已分配这两个目标,那么您将来的代码更新/更改将影响这两个目标。

    注意:只要确保在创建新文件时(创建重复/多个目标后),分配。选择两个目标即可使其对两个应用程序都有效。

    enter image description here

    看这里,我的新文件 TestFile.swift 有(链接到)多个目标。

    enter image description here

    现在以编程方式识别您的项目目标并区分您的链接:

    var API_LINK = ""
    
    if let targetName = NSBundle.mainBundle().infoDictionary?["CFBundleName"] as? String {
    
        if (targetName == "Test") {
    
            API_LINK = "http://webservice.Test"
    
        } else if (targetName == "Test copy") {
    
            API_LINK = "http://webservice.TestCopy"
    
        } else {
    
            print("Something wrong - targetName not found")
    
        }
    }
    

    关于ios - Xcode 9 的多发布环境 - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46565633/

    相关文章:

    ios - 旋转后 Swift inputAccessoryView 未连接到键盘

    ios - 在 Cordova 中使用相机后,iOS 收到内存警告

    ios - 如何找出导致 IOS 设备上的错误崩溃报告的原因?

    ios - 从 Testflight 中的测试中删除旧版本

    python - 删除列表列表的每个列表中的重复项

    duplicates - DELETE ADJACENT DUPLICATES 不会删除重复项

    sql - 将最小日期和相应的金额返回到该不同的 ID

    Xcode 和 git-lfs

    ios - 将 Tapku 库添加到 iOS 项目 - 链接器错误

    xcode - 从 UIViewcontroller 链接到 UITabBarController 页面