IOS 发布程序到AppStore

上传程序到AppStore上,遇到了很多问题,下面把在网上找的一些资料和处理问题的方法摘抄在一起.

1.首先要在itunesconnect.apple.com上面新建一个应用,并把描述什么的都写上,具体见网址http://www.cocoachina.com/bbs/read.php?tid-7923.html

2.之后要用Application Loader 上传你的程序, Application Loader,在 /Developer/Applications/Utilities 里就有。上面会显示你“Waiting For Upload”状态的程序,选择一个,并上传你压缩好的zip文件。上传成功之后itunesconnect.apple.com上面就变成了“Waiting For Review”状态。

遇到的问题如下:

1.当上传一半因为网络原因或者自己取消,重新上传时会提示“an existing transporter instance is currently uploading this package”。解决分为两种情况:

    (1).如果是没传完的应用处于“waiting for review”状态,reject 后重新上传即可。有些同学可能找不到在哪reject。点击“view details”按钮,

Links

    (2).如果此时应用处于“waiting for upload”状态,删除 ~/.itmstransporter/UploadTokens/ 目录内所有文件,即可重新上传。

2.上传zip文件时,提示:iPhone/iPod Touch: application executable is missing a required architecture. At least one of the following architecture(s) must be present: armv6处理办法,转载其他同学的解决办法。

截图如下:


\

产生这个错误,很是疑惑,尝试了几个办法,都失败了,无奈之下,只好求助伟大的stackoverflow。解决办法翻译如下:


如果你的xcode是4.2以上的版本的话,请尝试一下的解决办法:

1.点击你的项目名称(在左侧栏),之后点击Target:

 IOS 发布程序到AppStore_第1张图片

 

2.点击'Build Settings' (在右侧栏):

 IOS 发布程序到AppStore_第2张图片

 

3.打开‘Architectures’标签,点击名称为 'Release' 或者 'Distribution' 的行,选择'Other...':

 IOS 发布程序到AppStore_第3张图片

 

4.双击名称为'$(ARCHS_STANDARD_32_BIT)'的行,使之成为可编辑状态,删除文字,输入armv6。再点击左下角的“+”号,在出现的栏中输入armv7。最后点击“done”按钮。

 IOS 发布程序到AppStore_第4张图片

 

以上就是解决方法了,下面你再尝试“build/archive”就可能不会出现上述的错误信息了。

 


如果问题依旧,请尝试该链接this answer from justinxreese,就是在你的info.plist文件中的"Required Device Capabilities"加入全部的 armv6 和 armv7的信息。



stackoverflow的链接地址如下:http://stackoverflow.com/questions/4198676/warning-iphone-apps-should-include-an-armv6-architecture-even-with-build-config


3.还遇到UIBackgroundModes错误,解决办法找到工程中的App-info.plist,前缀不一定是这个,把Required background modes项的值填上,具体选项的解释引用其他同学的解释,其实不用在程序里面加,直接更改plist就可以了。

iOS从4.0之后支持后台播放声音了。下面是实现声音文件播放,并且用户关闭屏幕之后仍然能够播放声音文件。具体的实现方法如下:

在plist文件中加入下面的字段:

声明内容如下:

Info.plist中添加UIBackgroundModes键值,它包含一个或多个string的值,包括

audio:在后台提供声音播放功能,包括音频流和播放视频时的声音

location:在后台可以保持用户的位置信息

voip:在后台使用VOIP功能

 

在程序中添加:

AVAudioSession *session = [AVAudioSession sharedInstance];  
    [session setActive:YES error:nil];  
    [session setCategory:AVAudioSessionCategoryPlayback error:nil]; 

声明声音在后台运行。最后运行程序,关闭程序,声音则在后台成功播放。



你可能感兴趣的:(IOS应用)