一直等着公司的苹果开发这账号下来,今天终于下来了。
下面学习使用XCode7打包,发布应用
在进行到Prodeut-Archive(产品-》归档)的过程中遇到了下面一系列问题。并给出了解决方案。
问题一:
Provisioning profile does not match bundle identifier: The provisioning profile specified in your build settings (“xxxxxxx”) has an AppID of “xxxxxxx” which does not match your bundle identifier “xxxxxxxx”.
解决:上面原因是在苹果开发者中心创建的pp文件名的AppID与上面打包证书的AppID不匹配。重新创建一个下载就行了(注意AppID要一致)
问题二:第一个问题解决后接着出现了下面的问题:
在Xcode中当你在更新了你得证书而再重新编译你的程序可能会报下面的错误No matching provisioning profile found: Your build settings specify a provisioning profile with the UUID “01bce7xxxxxxxxxxx3-8c85-67d998f4c165”, however, no such provisioning profile was found.
解决方案一:网上的解答方案大概步骤如下:(我试了一下还是不行。但是后来第二次升级版本的时候又出现了这个问题,使用这种方法竟然可行了)
1.找到项目中的**.xcodeproj文件,右键打开包内容;
2.然后找到project.pbxproj文件,双击打开;
3.再然后,搜索“PROVISIONING_PROFILE",找到以它开头的都删了
删完以后你就会发现错误提示没了,那么就重新打开工程编译就行了,
联网情况下Xcode会自己下载并安装provisioning profile文件就可以了
解决方案二:如果上面的解决方案一不行(反正我试了是不行的),那试试在开发者中心重新配置证书,删除钥匙串的所有xcode开发配置文件。
用方案二成功解决这个问题
问题三:第二个问题解决后接着出现第三个问题:
解决方案一:(我试了不行)
1. Targets—>Build Settings—>Architectures—>Other,修改为$(ARCHS_STANDARD_32_BIT) 2. TARGETS->Build Setting -> Architectures ->Valid Architectures 改为 armv7 armv7s 3. 如果还不行把Build Active Architecture Only 改成No
解决方案二:(成功解决)
After huge trying I have disabled the Bitcode in Project's Target->Build Settings->Enable Bitcode. Now the build can be archieved. Please check the following screenshot.
截图最后一行,我不知道怎么使用画笔标记,知道的告诉我一下,谢谢。
解决:需要先在开发者中心的itunes connect中配置好要提审的版本。创建好itunes connect之后提交就不会有上面的错误了
然后提交
问题五:上面的问题解决后,
提交会一直卡在上面的界面大概40多分钟,报下面的错:
第一个很好理解 程序图标有问题需要一个120*120的图标
第二个:
意思是:无效包,在(其中一个)info.plist文件中的CFBundleShortVersionString值必须是至少三个非负整数(格式).
注意除了检查工程只带的info.plist文件,导入的第三方库有的也会带info.plist文件
step:
1.使用搜索导航搜索”CFBundleShortVersionString”找到错误的地方
2.将3.0.0-beta.3修改为3.0.3(满足”must be a period-separated list of at most three non-negative integers
”这个条件)
注意:修改好上面的错误后需要重新Prodeut-Archive 然后重新提交。
出现下面的反馈信息代表以及提交成功,只是有一个警告而已,不用管它
提交成功:(文章最后给出了上传成功的截图证明)
重新 Prodeut-Archive 然后提交。几分钟后出现下面的界面:(意思貌似是提交成功,警告不影响上传)
错误5:如下:出现上面界面的时候我本来以为没有上传成功呢,于是我有上传了一次,然后就出现了下面提示信息)
貌似意思是已经存在一个版本号了(就是已经上传成功,与上传成功的版本号冲突了,上传了两次))
修改版本号为1.0.1就行了
然后再重新product-archieve 上传应用
最终,我成功的上传了两次:在iTunes Connect 的版本构建中点击➕号 可以查看信息
后来我再更新版本的时候,体验了一把标准的正常提交成功的反馈
更新应用:
首先.修改更新的版本号比如上一版本是1.0.1,这次的更新版本可以是1.0.2
然后提交到itunes connect(注意提交之后,在itunes connect中可能不能马上看到提交的版本,可能需要等一会,估计要简单审核吧)
然后在Itunes connect 创建新版本
点击“我的App”,进入页面再点击要更新版本的App,点击“新版本”,输入版本号,版本号与xcode里Info.plist手动更改的版本号一致。如,上个版本的APP是1.0.0版本,这次要发布1.0.1,则输入1.0.1。
关于Version与Build的区别
Version是显示对外的版本号,(itunesconect和Appstore用户可以看到),而build别人看不到,只有开发者自己才能看到,相当于内部版本号。【更新版本的时候,也要高于之前的build号】
Version: 即CFBundleShortVersionString 标识应用程序的发布版本号。
(发布版本号 如当前上架版本为1.1.0 之后你更新的时候可以改为1.1.1)
该版本的版本号是三个时期分隔的整数组成的字符串。
第一个整数代表重大修改的版本,如实现新的功能或重大变化的修订。
第二个整数表示的修订,实现较突出的特点。
第三个整数代表维护版本。该键的值不同于“CFBundleVersion”标识
Build: 即CFBundleVersion,标识(发布或未发布)的内部版本号。
(内部标识,用以记录开发版本的,每次更新的时候都需要比上一次高 )
这是一个单调增加的字符串,包括一个或多个时期分隔的整数。
版本号的管理是一个谨慎的事情,希望各位开发者了解其中的意义。
完!
参考:
关于发布应用
http://www.w2bc.com/Article/84432
http://www.jietusoft.com/faq/detail/262.html
关于真机调试
http://www.cocoachina.com/ios/20160711/17004.htmlhttp://jingyan.baidu.com/article/ff411625b8141312e48237a7.html
http://www.jianshu.com/p/cd1b4e55731a
关于更新:
http://blog.csdn.net/mad1989/article/details/8167529官网:
https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide_SCh/Chapters/ReplacingYourAppWithANewVersion.html