16

我的 iPhone 应用程序中有一个功能,出于商业原因,它应该只对美国的客户显示/可用。如果我想将此应用程序发布到美国以外的 App Store,那么在不依赖用户定义的设置(例如语言和区域设置)的情况下,确定我所在国家/地区的最佳方法是什么?

在我看来,理想的解决方案是有一些运行时属性可以告诉我应用程序是从哪个 App Store 国家/地区下载的,我可以采取相应的行动。浏览文档并搜索网络,我在这个部门没有提出任何建议。

我不希望该解决方案是 100% 万无一失的,只要用户不在他们所说的国家/地区,但尽可能接近会很好。

我想一种解决方案是为 App Store 上的新产品单独构建一个版本,并有两个版本,一个用于美国,一个用于其他版本,但这似乎并不理想。我希望它可以是 App Store 上的同一产品,以防止诸如用户评论碎片化之类的事情。

提前致谢!

4

3 回答 3

4

它可以是区域设置,也可以是针对不同商店的不同版本。

对我来说,Locale 选项似乎是最少的工作量,并且可能 95% 的时间都是正确的......

于 2009-07-10T23:48:13.380 回答
4

我还认为使用 NSLocale 将是确定用户所在国家/地区的最佳解决方案。

这是如何完成的:

// Get user's country code based on currentLocale
NSLocale *locale = [NSLocale currentLocale];
NSString *countryCode = [locale objectForKey: NSLocaleCountryCode];

if ([countryCode isEqualToString:@"US"]){
    // US Only
}

但是,由于无法保证用户不会更改其国际设置,因此您可能别无选择,只能发布单独的应用程序,一个面向美国受众,另一个面向国际受众。

于 2010-12-08T03:28:33.763 回答
1

这个问题很老了,但由于其他人可能有相同的查询,我正在参与:) 鉴于除了通过本地检索之外它不是“明智”的,一种机制是通过客户注册。在注册表格中,您可以询问他们注册的国家/地区并从那里获取...

于 2012-04-17T07:02:03.253 回答