iOS Swift:如何在同一项目上为不同国家/地区构建两个不同的.ipa

问题描述 投票:0回答:3

我正在用Swift编写iOS应用。该应用程序很简单,只需将UIWebView连接到URL。

class ViewController: UIViewController {
    @IBOutlet weak var customWebView: UIWebView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        if let url = NSURL(string: "http://A_COUNTRY_URL") {
            let request = NSURLRequest(URL: url)
            customWebView.loadRequest(request)
        }

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}
  1. 我想将此保存在一个存储库(一个项目)中
  2. [http://A_COUNTRY_URL用于分配给一个国家的.ipa
  3. 还有另一个国家B,需要分配,URL为http://B_COUNTRY_URL
  4. 两个不同的.ipa应该具有两个不同的Bundle ID

是否可以在Xcode上为一个项目构建两个不同的.ipa?如果是,该怎么办?

谢谢。埃里克

ios swift xcode6 software-distribution
3个回答
2
投票

在本教程中,Ray Wenderlich http://www.raywenderlich.com/68613/create-paid-lite-version-iphone-app解释了如何使用两种不同的目标作为更好的方法来制作一个应用的两个版本,一个付费版本和一个精简版本。

希望有帮助!


1
投票

您可以在xcode中使用targets。目标用于将代码重复用于不同的产品。

以下是一些有用的链接

Xcode Target

Tutorial

基本上,您只需要更改需要不同的文件的目标成员身份。您也可以在构建设置中为目标创建宏,以检查代码,例如

#ifdef COUNTRY_A
//do for A
#else 
//do for B
#endif

用于创建preprocessor macro


0
投票

我确实不鼓励某些逻辑。苹果公司非常敏感,因为iOS12对相同应用程序具有不同的内容。(这件事发生在我身上,并在WWDC2018上与苹果工程师亲自交谈了)

所以我认为如果应用程序应该显示不同的内容,(您可以从服务器上找到它。您应该仅基于用户偏好来更改URL ar运行时(然后再次。.苹果不鼓励在应用程序内部更改语言设置...)

© www.soinside.com 2019 - 2024. All rights reserved.