标签: mac-app-store

在App Store发布时,哪个iOS应用程序版本/内部版本号必须递增?

iOS应用的版本/构建字段包括:

  • "Version" CFBundleShortVersionString(String - iOS,OS X)指定捆绑包的发布版本号,该版本号标识应用程序的已发布迭代.发行版本号是由三个以句点分隔的整数组成的字符串.

  • "Build" CFBundleVersion(String - iOS,OS X)指定捆绑包的构建版本号,该版本号标识捆绑包的迭代(已发布或未发布).构建版本号应该是由三个非负的,周期分隔的整数组成的字符串,第一个整数大于零.该字符串应仅包含数字(0-9)和句点(.)字符.前导零从每个整数中截断,将被忽略(即1.02.3相当于1.2.3).此密钥不可本地化.

  • "iTunes Connect版本号":在iTunes Connect上创建应用程序的新版本时指定的版本号.

我的问题是:

当新版本的应用程序上传到iTunes Connect和/或发布到App Store时,需要增加哪些版本/内部版本号?

应用更新之间的"版本" CFBundleShortVersionString或"构建"可以CFBundleVersion保持不变吗?

Apple来源的额外积分或iTunesConnect在上传无效版本/内部版本号时显示的确切错误消息.


Android/Google Play笔记:

促使这个问题的讨论是,在谷歌Android应用的大众"版本" Play商店并没有需要递增,是没有办法验证.该android:versionName可不同版本之间保持不变,升级,降级,或者是任何随机字符串,而不是东西,似乎是一个有效的"版本号".

android:versionName - 表示应用程序代码的发行版本的字符串值,因为它应显示给用户.

该值是一个字符串,以便您可以将应用程序版本描述为<major>.<minor>.<point>字符串,或任何其他类型的绝对或相对版本标识符.

Android中versionName和versionNumber之间的区别

android:versionCode强制执行是一个递增的释放整数.


Apple文档

正如新接受的回答中所述,Apple最近发布了一份技术说明,详细说明了他们的版本和内部版本号:

Apple技术说明TN2420 - 版本号和内部版本号

itunesconnect app-store ios mac-app-store

93
推荐指数
6
解决办法
7万
查看次数

如何为Mac App Store配置框架包?

最近提交后,我收到以下错误:

签名无效 - 嵌套的应用程序包(FooBar.app/Contents/Frameworks/GData.framework)未签名,签名无效,或者未使用Apple提交证书签名.有关更多信息,请参阅"代码签名和应用程序沙盒指南".

签名无效 - 嵌套的应用程序包(FooBar.app/Contents/Frameworks/Growl.framework)未签名,签名无效,或者未使用Apple提交证书签名.有关更多信息,请参阅"代码签名和应用程序沙盒指南".

签名无效 - 嵌套的应用程序包libcurl(FooBar.app/Contents/Frameworks/libcurl.framework)未签名,签名无效,或者未使用Apple提交证书签名.有关更多信息,请参阅"代码签名和应用程序沙盒指南".

所以我根据Technote 2206签署了所有框架包:

codesign -f -v -s "3rd Party Mac Developer Application: Name" ./libcurl.framework/Versions/A/libcurl
codesign -f -v -s "3rd Party Mac Developer Application: Name" ./libcurl.framework/Versions/A/libssh2.1.dylib
codesign -f -v -s "3rd Party Mac Developer Application: Name" ./Growl.framework/Versions/A/Growl
codesign -f -v -s "3rd Party Mac Developer Application: Name" ./GData.framework/Versions/A/GData
Run Code Online (Sandbox Code Playgroud)

Technote 2206说:

签署框架

看到框架是捆绑包,看起来你可以直接签署框架似乎是合乎逻辑的.然而,这种情况并非如此.为了避免在签署框架时出现问题,请确保签署特定版本而不是整个框架:

#这是错误的方法:

codesign -s my-signing-identity ../FooBarBaz.framework

#这是正确的方法:

codesign -s my-signing-identity ../FooBarBaz.framework/Versions/A

当我尝试验证结果时,它对我来说很好看:

% codesign -vvv FooBar.app/Contents/Frameworks/libcurl.framework
FooBar.app/Contents/Frameworks/libcurl.framework: valid on …
Run Code Online (Sandbox Code Playgroud)

xcode itunesconnect codesign mac-app-store

80
推荐指数
2
解决办法
3万
查看次数

Xcode 4.6.3中Dropbox API的协同设置失败:"代码对象根本没有签名"

我有一个OS X应用程序,它通过Mac App Store分发,最近更新到Xcode 4.6.3.

当我现在运行常规构建时,我会收到:

Command /usr/bin/codesign failed with exit code 1:

/Users/Craig/Library/Developer/Xcode/DerivedData/Mac-dxcgahgplwpbjedqnembegifbowj/Build/Products/Debug/MyApp.app: code object is not signed at all
In subcomponent: /Users/Craig/Library/Developer/Xcode/DerivedData/Mac-dxcgahgplwpbjedqnembegifbowj/Build/Products/Debug/MyApp.app/Contents/Frameworks/DropboxOSX.framework
Command /usr/bin/codesign failed with exit code 1
Run Code Online (Sandbox Code Playgroud)

我似乎无法辨别我的项目中的任何其他更改,因此我无法判断它是否与4.6.3更新或其他相关的问题.

我尝试重新启动Xcode,运行干净的构建,并清理构建文件夹.

macos xcode code-signing dropbox mac-app-store

75
推荐指数
3
解决办法
3万
查看次数

Xcode 5 app提交问题

几天前我安装了Xcode 5.今天我正在尝试提交一个应用程序,但在验证过程中我遇到了这个问题:"网络连接丢失".我从未遇到过Xcode 4的任何问题.

我的网络没问题,我没有使用任何代理.

是什么导致了这个问题?

macos xcode submit ios mac-app-store

54
推荐指数
1
解决办法
1万
查看次数

iTunes Connect中的未知应用版本

我的应用程序的新版本是1.2.但在iTunes Connect的"销售与趋势"中,我看到了"未知"应用版本.此新评论未在App Store的"当前版本"选项卡中显示(仅在所有版本选项卡中).怎么了?

itunesconnect app-store mac-app-store

54
推荐指数
1
解决办法
699
查看次数

"Mac Developer"与"第三方Mac开发者应用程序"的区别

Mac Developer3rd Party Mac Developer Application配置文件有Code Signing Identity什么区别?哪一个用于Mac App Store分发?

在此输入图像描述

macos xcode mac-app-store

31
推荐指数
1
解决办法
1万
查看次数

以编程方式打开Mac App Store

我正在尝试以编程方式在自定义Mac应用程序中打开Mac App Store.我从下面的链接开始.

http://itunes.apple.com/us/app/angry-birds/id403961173?mt=12
Run Code Online (Sandbox Code Playgroud)

我尝试了以下代码,但它打开浏览器而不是Mac App Store.

[[NSWorkspace sharedWorkspace] openURL:
 [NSURL URLWithString:@"http://itunes.apple.com/us/app/angry-birds/id403961173?mt=12"]];
Run Code Online (Sandbox Code Playgroud)

有关如何做到这一点的任何建议?

cocoa objective-c mac-app-store

28
推荐指数
2
解决办法
5956
查看次数

如何在Mac App Store的应用中投放广告?

由于Mac上尚未提供AdMob或iAd,我们如何向Mac Apps添加广告?是否允许Adsense?或者还有其他可用的广告平台吗?谢谢.

macos ads app-store mac-app-store

22
推荐指数
1
解决办法
8083
查看次数

Apple是否为OS X提供TestFlight beta测试?

TestFlight是iOS的一个受欢迎的变化.它使得分发beta版本对于开发人员和测试人员来说都是无痛的.

Apple也支持TestFlight for Mac OS吗?我已经做了很多搜索,并没有找到任何结论的方式或另一种.

我们有一个OS X应用程序商店应用程序,结果证明Yosemite存在安装问题.我们未能对Yosemite进行首次安装测试,所以我们错过了这个问题.

我开发了一个修复程序,很想让一些新用户试一试.当前用户删除整个"容器"目录并终止首选项过程以模拟全新安装,这很复杂,困难且具有破坏性.

我也不喜欢分发我们的应用程序的解锁版本的想法.如果出现这种情况,可能会损害应用商店应用的销售额.

我已经完成了诸如为测试应用程序添加了过期日期(弱保护)或创建的开发人员ID构建,这些构建仅在特定MAC地址列表的计算机上运行.最后一种方法有效,但维护起来既乏味又痛苦,并要求测试人员放弃有关其机器的唯一可识别信息.

我非常希望能够创建仅在Beta测试人员的计算机上运行的应用程序,就像TestFlight对iOS一样.

这是一个开发人员问题而不是代码问题.它不适合SO,但我想不出更好的Stack Exchange网站发布它.如果有人建议更好的网站发布问题,我很乐意将其移到那里.

macos mac-app-store

21
推荐指数
2
解决办法
7364
查看次数

选择iOS和Mac应用程序的软件包标识符

假设我有一个名为A的应用程序.

捆绑标识符在所有Mac和iOS应用程序中必须是唯一的.这意味着如果我在iOS App Store上有应用程序A和Bundle ID com.mycompany.a,我就无法在Mac App Store上使用相同的Bundle ID创建应用程序com.mycompany.a.

好吧,说,区分Bundle ID的最佳方法是什么?

我能想到的一些例子:

  • com.mycompany.a_ios, com.mycompany.a_mac
  • com.mycompany.ios.a, com.mycompany.mac.a

有没有其他想到的?你用过哪个?

macos app-store cfbundleidentifier ios mac-app-store

18
推荐指数
2
解决办法
6464
查看次数