appstore多语言 ios
2016-09-23 19:56:00 weixin_34409703 阅读数 16

1.登录iOS 开发者中心


1701168-cb7df6db3df4d3e9.png
1.png
  1. 点击账户


    1701168-2fc5f94c6d1524ac.png
    2.png

    3.第一个是添加团队成员 第二个是 发布&调试 证书 &描述文件 &appid
    第三个是 创建应用 上架


    1701168-b99c112d708ba0ba.png
    3.png
  2. 点击进入创建应用


    1701168-12a19fe1f0588755.png
    4.png

    5.继续


    1701168-16711143030aa849.png
    5.png

    6.我的app 点击进入可以看到你发布的app 也可以点击左上角的➕ 创建app
    1701168-a61148d5912acdef.png
    6.png

    7.创建app


    1701168-e6c2f77c12b93b47.png
    7.png

    8.填写信息
    1701168-c59ce1fb21f3d63e.png
    8.png
  3. 应用的 用户设备平台 iOS


    1701168-ca67f9e71288e02a.png
    9.png

    10.比如 支付宝


    1701168-9f9a03811296d79e.png
    10.png
  4. 大天朝专用 简体中文


    1701168-6ee2981954ced7e3.png
    11.png

    12.这个套装id 需要回到第三部 点击 证书 创建 app id 之后会自动生成


    1701168-219598dfcb5b3add.png
    12.png

    13.同上
    1701168-cb3e5949f191aa81.png
    13.png

    14.这个不你懂的。。。


    1701168-c9411cfcdd058abe.png
    14.png

在iTunes Connect中的我的App中,点击“+”号,
选择新建iOS App,弹出一个界面,这个界面,需要填写一些信息:
名称:即应用的名字;
版本:显示给用户看的版本;
主要语言;一般选择简体中文;
SKU:可以是项目的名称(英文)+日期;
套装id:即你要是用的证书或者签名(待确认),选择之后会有一个套装ID后缀,这个一定要写项目中TARGETS 里Bundle Identifier中那个不能拷贝的名称;

截图,选择模拟器进行截图

 1、名称:App 在 App Store 中显示的名称。名称长度不能超过 255 个字符。
 2、版本:版本号会显示在 App Store 中,并且应与您在 Xcode 中所使用的版本号相符。
 3、主要语言:如果 App 信息没有针对某个国家的 App Store 进行本地化, App 信息将以主要语言呈现。
 4、套餐ID:套装 ID 必须与您在 Xcode 中使用的 ID 相符。该 ID 在您初次提交后便无法更改。
 5、SKU:一个独特的、不会在 App Store 中显示的 App ID。自己可以自己定义。个人觉得主要去区分自己账户下边不同的APP。
 6、套餐ID后缀:您的套装 ID 必须与 App 的 info.plist 中使用的相符。个人觉得就是com.sdfsdfsdfdsf.这个就是后缀。

一般 bundle id == app id
套装id 创建app id 之后会自动生成

推荐博客
http://www.cocoachina.com/programmer/20150430/11679.html

http://mp.weixin.qq.com/s?__biz=MzAxMzE2Mjc2Ng==&mid=2652155377&idx=1&sn=cd25c2f38c51b157475bc65b98567199&chksm=8046cd90b7314486c6a07949d11458a1da40d2aa853eeb373473bf7023a2cf0b0df8c58b2351&scene=1&srcid=09230OjIH7YZYMctkPaEl2at#rd

2019-03-25 11:47:00 weixin_34067049 阅读数 3

审核被拒

https://www.jianshu.com/p/f9dcf9f3db0c

发件人 Apple

*   2. 1 Performance: App Completeness

### Guideline 2.1 - Information Needed

This type of app has been identified as one that may violate one or more of the following [App Store Review Guidelines](https://developer.apple.com/app-store/review/guidelines/). Specifically, these types of apps often:

1.1.6 - Include false information, features, or misleading metadata
2.3.0 - Undergo significant concept changes after approval
2.3.1 - Have hidden or undocumented features, including hidden "switches" that redirect to a gambling or lottery website
3.1.1 - Use payment mechanisms other than in-app purchase to unlock features or functionality in the app
3.2.1 - Do not come from the financial institution performing the loan services
4.3.0 - Are a duplicate of another app or are conspicuously similar to another app
5.2.1 - Were not submitted by the legal entity that owns and is responsible for offering any services provided by the app
5.2.3 - Facilitate illegal file sharing or include the ability to save, convert, or download media from third party sources without explicit authorization from those sources
5.3.4 - Do not have the necessary licensing and permissions for all the locations where the app is used

Before we can continue with our review, please confirm that this app does not violate any of the above guidelines. You may reply to this message in Resolution Center or the App Review Information section in App Store Connect to verify this app’s compliance. 

Given the tendency for apps of this type to violate the aforementioned guidelines, this review will take additional time. If at any time we discover that this app is in violation of these guidelines, the app will be rejected and removed from the App Store, and it may result in the termination of your Apple Developer Program account.

Should you choose to resubmit this app without confirming this app’s compliance, the next submission of this app will still require a longer review time. Additionally, this app will not be eligible for an expedited review until we have received your confirmation.

Since your App Store Connect status is Metadata Rejected, we do NOT require a new binary. To revise the metadata, visit App Store Connect to select your app and revise the desired metadata values. Once you’ve completed all changes, reply to this message in Resolution Center and we will continue the review.

2015-04-27 11:03:15 MissQin 阅读数 262
多语言在应用程序中一般有两种做法:
一、程序中提供给用户自己选择的机会;
二、根据当前用户当前移动设备的语言自动将我们的app切换对应语言。

第一种做法比较简单完全靠自己的发挥了,这里主要讲第二种做法,主要分一下几点:

1.本地化应用程序名称
2.本地化字符串
3.本地化图片
4.本地化其他文件

1.本地化应用程序名称

(1)点击“new file”然后在弹出窗口左侧选择IOS的resource项,在右侧就可以看到“String File”的图标。创建这个文件,命名为“InfoPlist”(一定是这个文件名) 就生成一个InfoPlist.strings文件;

(2) 选中InfoPlist.strings 点 击 XCode-> View-> Utilities -> File Inspector,在Localization中点 “+”,添加chinese (zh-Hans)类型的为简体中文,english 应该会自动添加上。然后在InfoPlish.strings 左边 会多出一个三角形,点击展开后可以看到InfoPlish.strings(english)和InfoPlish.strings(chinese)两 个版本的文件;

(3)在InfoPlish.strings(english)文件中加入:

CFBundleDisplayName ="Program";  

其中“Program”为英文应用程序名称,同理在InfoPlish.strings(chinese)文件中加入:

CFBundleDisplayName ="应用程序"

其中“应用程序”为中文名称,注意:CFBundleDisplayName加不加双引号都行

(4)编辑Info.plist,添加一个新的属性Application has localized display name, 设置其类型为boolean,并将其value设置为YES即可

2.本地化字符串

(1) 类似“本地化应用程序名称”第一步,点击“new file”然后在弹出窗口左侧选择IOS的resource项,在右侧就可以看到 “String File”的图标。创建这个文件,命名为“Localizable”(一定是这个文件名否则后面调用会有一些区别)就生成一个 Localizable.strings文件;

(2)类似“本地化应用程序名称”第二第三步,在Localizable.strings(english)文件中加入:

"welcome"="Click on the screen to continue..."

同理在Localizable.strings(chinese)文件中加入:

"welcome"="点击屏幕继续..."

(3)在代码中使用NSLocalizedString(<#key#>, <#comment#>)来读取本地化字符串,代码如下:

CCLabelTTF *label = [CCLabelTTF labelWithString:NSLocalizedString(@"welcome", nil) fontName:@"Marker Felt" fontSize:18]; 
CGSize size = [[CCDirector sharedDirector] winSize]; 
label.position =  ccp( size.width /2 , size.height/2+30 ); 
[self addChild: label]; 
 
 
//该代码片段来自于: http://www.sharejs.com/codes/objectc/6062

注意:如果你的strings文件名字不是Localizable而是自定义的话,如wang.strings,那么你就得使用NSLocalizedStringFromTable()来读取本地化字符串:

NSLocalizedStringFromTable(@"welcome",@"wang", nil) 

3.本地化图片

这里又分两种方法,第一种和本地化字符串方法类似,把中英文图片的名字分别存到中英文对应的strings文件,然后通过NSLocalizedString)来获取图片名称,如:

Localizable.strings(english)文件中加入:

"BtnCancel"="BtnCancelEn.png"
Localizable.strings(chinese)文件中加入:
 
 
"BtnCancel"="BtnCancelCn.png"

然后在代码中使用NSLocalizedString)来获取图片名称:

CCSprite *btnCancel = [CCSprite spriteWithSpriteFrameName:NSLocalizedString(@"BtnCancel", nil)]; 
btnCancel.position=ccp(s.width/2,s.height/2-40); 
[self addChild:btnCancel z:2 tag:104]; 

第 二种就比较正规化了:点中你要本地化的图片,如“icon.png”,然后 XCode-> View-> Utilities -> File Inspector,在Localization中点“+”添加 chinese (zh-Hans);在图片左边就会出现一个倒三角,点开就会出现(english)和(chinese)的2张图,并且在项目文件夹中 会出现en.lproj文件和zh-Hans.lproj文件;en.lproj文件存放的是英文版图片,zh-Hans.lproj存放的是中文版图 片,中英文图片名字一样,我们在文件夹中直接替换图片就可以了,最后使用时直接使用正常名字就行了,如:“icon.png”。

4.本地化其他文件

本地化其他文件和本地化图片第二种方法类似,先在Localization中添加语言,然后把对应版本拷贝到en.lproj和zh-Hans.lproj文件夹中,最后引用就行了。

2012-10-15 09:17:27 fhbystudy 阅读数 391


1、IOS程序名称国际化

1.1 新建一个Single View app模版项目,命名为Localization。

1.2 新建后,可以看到工作目录结构文件如下,单击InfoPlist.strings,查看右边的属性,在Localization栏添加语言。

    

1.3 添加完成后打开对应语言文件,比如English的添加

CFBundleDisplayName="China";

Chinese文件添加

CFBundleDisplayName="中国";

运行,如果此时你的模拟器是中文,你会看到你的程序名称变成了 中国:

来到设置里把语言设置成 English。此时程序名称变成了:China

这时,程序名称的国际化完成了。那里面内容呢?

2、内容国际化

2.1新建Localization.strings文件

      

2.2 添加语言和1.1环节一样。

2.3 添加语言内容

添加"Key"="value"; 然后使用时用NSLocalizedString(@"key", @""); 读取内容.

Localization.strings English文件添加 

"key" = "english value";

Localization.strings English文件添加 

"key" = "中文内容";

在ViewController.m 中添加UILabel实验一下

- (void)viewDidLoad
{
    [super viewDidLoad];
    UILabel *label = [[UILabel alloc] init];
    label.frame = CGRectMake(20, 40, 250, 60);
    label.text = NSLocalizedString(@"key", @"");
    [self.view addSubview:label];
}

运行

设置项里切换英文

3、如何在运行的时候判断现在运行环境是哪个语言?

3.1 获得所支持的语言

NSUserDefaults *defaults = [ NSUserDefaults standardUserDefaults ];
    // 取得 iPhone 支持的所有语言设置
    NSArray *languages = [defaults objectForKey : @"AppleLanguages" ];
    NSLog ( @"%@" , languages);

运行,打印结果:

(

    en,

    "zh-Hant",

    "zh-Hans",

    fr,

    de,

    ja,

    nl,

    it,

    es,

    pt,

    "pt-PT",

    da,

    fi,

    nb,

    sv,

    ko,

    ru,

    pl,

    tr,

    uk,

    ar,

    hr,

    cs,

    el,

    he,

    ro,

    sk,

    th,

    id,

    "en-GB",

    ca,

    hu,

    vi

)

    "zh-Hant"   繁体中文

    "zh-Hans", 简体中文

这段代码获取当前系统支持的语言。  

3.2 获取当前使用语言

    NSArray *languages = [NSLocale preferredLanguages];
    NSString *currentLanguage = [languages objectAtIndex:0];
    NSLog ( @"%@" , currentLanguage);

打印结果:

en

用获取到的当前语言,和支持的语言做字符串对比,就可以知道是那种语言了。

    if([currentLanguage isEqualToString:@"en"])
    {
        NSLog(@"current Language:en");
    } 

  

 

著作权声明:本文由http://www.cnblogs.com/stoic/原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢!

2015-04-21 10:40:37 u011194397 阅读数 390
多语言在应用程序中一般有两种做法:
一、程序中提供给用户自己选择的机会;
二、根据当前用户当前移动设备的语言自动将我们的app切换对应语言。

第一种做法比较简单完全靠自己的发挥了,这里主要讲第二种做法,主要分一下几点:

1.本地化应用程序名称
2.本地化字符串
3.本地化图片
4.本地化其他文件

1.本地化应用程序名称

(1)点击“new file”然后在弹出窗口左侧选择IOS的resource项,在右侧就可以看到“String File”的图标。创建这个文件,命名为“InfoPlist”(一定是这个文件名) 就生成一个InfoPlist.strings文件;

(2)选中InfoPlist.strings 点击 XCode-> View-> Utilities -> File Inspector,在Localization中点“+”,添加chinese (zh-Hans)类型的为简体中文,english 应该会自动添加上。然后在InfoPlish.strings 左边会多出一个三角形,点击展开后可以看到InfoPlish.strings(english)和InfoPlish.strings(chinese)两个版本的文件;

(3)在InfoPlish.strings(english)文件中加入:
CFBundleDisplayName ="Program";  
其中“Program”为英文应用程序名称,同理在InfoPlish.strings(chinese)文件中加入:
CFBundleDisplayName ="应用程序"
 其中“应用程序”为中文名称,注意:CFBundleDisplayName加不加双引号都行

(4)编辑Info.plist,添加一个新的属性Application has localized display name, 设置其类型为boolean,并将其value设置为YES即可

 2.本地化字符串

(1)类似“本地化应用程序名称”第一步,点击“new file”然后在弹出窗口左侧选择IOS的resource项,在右侧就可以看到“String File”的图标。创建这个文件,命名为“Localizable”(一定是这个文件名否则后面调用会有一些区别)就生成一个Localizable.strings文件;

(2)类似“本地化应用程序名称”第二第三步,在Localizable.strings(english)文件中加入:
"welcome"="Click on the screen to continue..."
 同理在Localizable.strings(chinese)文件中加入:
"welcome"="点击屏幕继续..."
(3)在代码中使用NSLocalizedString(<#key#>, <#comment#>)来读取本地化字符串,代码如下:
CCLabelTTF *label = [CCLabelTTF labelWithString:NSLocalizedString(@"welcome", nil) fontName:@"Marker Felt" fontSize:18]; 
CGSize size = [[CCDirector sharedDirector] winSize]; 
label.position =  ccp( size.width /2 , size.height/2+30 ); 
[self addChild: label]; 
 
 
//该代码片段来自于: http://www.sharejs.com/codes/objectc/6062
注意:如果你的strings文件名字不是Localizable而是自定义的话,如wang.strings,那么你就得使用NSLocalizedStringFromTable()来读取本地化字符串:
NSLocalizedStringFromTable(@"welcome",@"wang", nil) 
 3.本地化图片

这里又分两种方法,第一种和本地化字符串方法类似,把中英文图片的名字分别存到中英文对应的strings文件,然后通过NSLocalizedString)来获取图片名称,如:

Localizable.strings(english)文件中加入:
"BtnCancel"="BtnCancelEn.png"
Localizable.strings(chinese)文件中加入:
 
 
"BtnCancel"="BtnCancelCn.png"
然后在代码中使用NSLocalizedString)来获取图片名称:
CCSprite *btnCancel = [CCSprite spriteWithSpriteFrameName:NSLocalizedString(@"BtnCancel", nil)]; 
btnCancel.position=ccp(s.width/2,s.height/2-40); 
[self addChild:btnCancel z:2 tag:104]; 
第二种就比较正规化了:点中你要本地化的图片,如“icon.png”,然后XCode-> View-> Utilities -> File Inspector,在Localization中点“+”添加chinese (zh-Hans);在图片左边就会出现一个倒三角,点开就会出现(english)和(chinese)的2张图,并且在项目文件夹中会出现en.lproj文件和zh-Hans.lproj文件;en.lproj文件存放的是英文版图片,zh-Hans.lproj存放的是中文版图片,中英文图片名字一样,我们在文件夹中直接替换图片就可以了,最后使用时直接使用正常名字就行了,如:“icon.png”。

4.本地化其他文件

本地化其他文件和本地化图片第二种方法类似,先在Localization中添加语言,然后把对应版本拷贝到en.lproj和zh-Hans.lproj文件夹中,最后引用就行了。 

iOS AppStore审核指南

阅读数 1212

IOS APPStore上架流程

阅读数 910

IOS appstore 发布

阅读数 276

没有更多推荐了,返回首页