ios - 我们可以为 2 个不同的国家/地区发布具有 1 或 2 个不同功能的相同应用程序吗?
问题描述
我只想在 2 个国家/地区发布我的应用程序,并且我想为这两个国家/地区执行 2 种不同的功能。
例如。
ViewController1
牙买加的功能不同。
ViewController1
肯尼亚的功能有所不同。
不同的功能意味着内容不同,或者输入形式不同。
可能吗?如果是,请参考一些文件。
提前致谢
解决方案
关于 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)
}
推荐阅读
- python - 使用 FastAPI 在基于 Python 的 GraphQL 服务器中进行身份验证
- wpf - DependencyProperty 作为触发值
- dataframe - 合并来自 Covid-data 的 CSV 文件
- java - Java - 验证来自哈希映射的键是否存在于另一个哈希映射中
- google-api - 如何在 google api (node.js) 中创建 sharedDrive
- android - Android Admob 欧盟用户同意书
- react-native - 有没有办法将触摸事件从一个视图传递到另一个视图?
- javascript - 过滤如何在数组中工作?
- regex - 用于查找字母字符的前 x 个出现的正则表达式,忽略其他所有内容
- amazon-web-services - AWS lambda 函数和 Athena 创建分区表