首页 > 解决方案 > 我们可以为 2 个不同的国家/地区发布具有 1 或 2 个不同功能的相同应用程序吗?

问题描述

我只想在 2 个国家/地区发布我的应用程序,并且我想为这两个国家/地区执行 2 种不同的功能。

例如。

ViewController1牙买加的功能不同。 ViewController1肯尼亚的功能有所不同。

不同的功能意味着内容不同,或者输入形式不同。

可能吗?如果是,请参考一些文件。

提前致谢

标签: iosswift

解决方案


关于 App Store 的一些注意事项:

1) 语言应该/必须由用户在首选项上选择,而不是在应用程序中。Apple 可能会拒绝不遵循上述逻辑的应用程序。

2)您可以使用代码测试当前语言/区域(语言见下文)但我认为 Apple 可以拒绝,因为您使用不同的行为

3)如果你真的需要它,你可以使用故事板加载不同的控制器(我建议使用不同的故事板并在运行时使用 segues 和“* .soryboard”加载它们,如下所示:

func ViewControllerFromStoryboardWith( name: String ) -> UIViewController {

    // we use an identifier equal to filename for now.
    let storyboard = UIStoryboard(name: name, bundle: nil)

    let vc = storyboard.instantiateViewController(withIdentifier: name) as UIViewController
    return vc
}

// 测试语言:

func currHWLanguage()->String{

    let defs : UserDefaults = UserDefaults.standard
    let languages : NSArray = defs.object(forKey: "AppleLanguages") as! NSArray
    let current = languages[0] as! String

    // since 9.0 we get en-US etc.. so cut to 2:
    let result = (current as NSString).substring(to: 2)

    #if DEBUG
    // force to IT as a bug in simulator
    // return "IT"
    #endif

    return result.uppercased()
    //NSLog("%@", current)
}

推荐阅读