可在两家商店,Google Play和Apple Store中将应用从一家公司转移到另一家公司。但是,据我所知,每个应用程序都有证书。我对此并不太了解,谷歌上的谷歌比实际帮助我更困惑。我负责应用程序移动和更新过程的初始化。
给我任务的X公司有一个应用程序。该应用程序由DEV公司开发。关于应用程序源代码的所有权,两家公司之间的关系在一段时间后有点冻结。最后,两家公司都同意,他们只是将应用程序从DEV公司拥有的商店帐户转移到他们自己的商店帐户。为了在没有任何律师参与的情况下保持和平,X公司将从头开始重新设计应用程序而不使用当前应用程序中的任何代码。因此,DEV公司不会移交源代码,只有APK。因此,X公司将创建一个新应用程序,一旦该应用程序上线,请停用旧应用程序。
我在Google https://support.google.com/googleplay/android-developer/answer/6230247?hl=en-GB
上阅读了有关应用转移的两份文档只要没有应用内购买,转移应用就没有问题。但是,我找不到有关证书的任何信息。证书是否与应用程序一起出现并自动转移,或者证书是否属于DEV帐户的所有者,在这种情况下是DEV公司?这意味着应用程序需要使用新证书进行重新编译,我相信,这意味着所有用户都需要为此原因更新他们的应用程序,这是正确的吗?
我在Apple上找到了这个:https://developer.apple.com/support/certificates/ 但这让我感到困惑,而不是在这种情况下有所帮助。
答案 0 :(得分:1)
达沃塔尔的回答并不完全正确(至少对于Google Play来说)。除了Google Play,我无法评论任何地方,让我试着给出正确答案。
应用程序有一个证书,用于标识应用程序的所有者。这类似于SSL证书。我们的想法是告诉最终用户但更重要的是Android操作系统,该应用的当前版本是由与原始应用相同的人创建的。否则任何人都可以更新设备上的应用程序。
所以你有三个选择:
正如您所看到的,第二个选项对于您的客户和用户来说是一个更糟糕的选择。选项1或3要好得多。
如果该应用已注册Google Play App Signing,则此问题将不存在。如果创建了一个新应用程序,我强烈建议您这样做。
答案 1 :(得分:0)
好的,感谢Allen R,他通过评论为这个案例提供了答案。
以下是有关签名密钥的信息 Android https://developer.android.com/studio/publish/app-signing.html和Apple https://developer.apple.com/support/code-signing/,但这只是对应用签名密钥的解释。
基本上,应用程序有一个证书,用于标识应用程序的创建者/开发者。这类似于SSL证书。我们的想法是告诉最终用户,当前版本的应用程序是由原始开发人员创建的。
正如艾伦所说:
您无法重新签名.apk文件。你可以想象如果你能做到这一点会让一些第三方使用别人的签名会带来的安全问题。新应用无法使用其他密钥覆盖现有应用。
因此,在当前情况下,在将应用程序转移到新帐户后,必须将其停用并且必须发布新帐户。用户将无法再使用原始应用。如果应用程序设计得当,它应该在启动/登录/运行时显示错误消息,并通知用户该应用程序已弃用,并且必须从商店下载新版本。
答案 2 :(得分:0)
对于iOS应用,必须有以下项目。
iOS Distribution: <XXXX company name>
。Provisioning profile
中找到。您可以找到解码Provisioning profile
以获取它的方法。如果其他公司只需要ipa
上传到App Store,您需要以上项目来生成ipa
结果。如果您需要上传到他们的App商店,那么您需要一个Itunes Connect帐户,并且有权将应用程序上传到App商店。
您可以通过命令行工具Fastlane自动创建整个内容。我更喜欢the tutorial on the www.raywenderlich.com about Fastlane.
答案 3 :(得分:0)
---仅适用于iOS ---
我有类似的情况,我需要将我的应用程序从一个iTunes帐户转移到另一个iTunes帐户。
基本上每个iOS应用程序都有4个身份:
<强> 1。捆绑ID ( for ex: com.domainname.appIdentifier)
<强> 2。供应资料
第3。 APNS证书(如果为app实施推送通知)
<强> 4。帐户证书(这些是特定于开发者帐户的,对于在同一帐户下发布的所有应用程序而言都是唯一的)
现在将应用程序从一个iTunes帐户转移到另一个帐户将仅使用捆绑包ID迁移应用程序。但它不会影响应用程序的当前工作。它将在转移之前工作得很好。
现在,如果您希望上传新版本的应用,则需要创建新的配置文件,新的APNS,您将使用新帐户的帐户证书。 (请记住,您需要更新服务器上的APNS证书(.p12 / PEM文件)才能使推送通知生效。)
现在专门针对您的问题,DEV公司将把应用程序转移到您公司X的iTunes帐户。它将使用包ID转移应用程序,意味着应用程序商店上的应用程序将不再在DEV公司的帐户下可用他们也不能再使用相同的捆绑ID了。只有您的公司X可以使用该套装ID,因为您从DEV公司转移它。
对于用户的观点,应用使用不会有任何变化或问题。即使您发布新版本的应用程序旧应用程序也能正常工作。如果您的应用程序中有推送通知功能,则唯一的问题是,因为您将更改服务器上的.p12 / PEM文件,因此旧用户不会在不更新应用程序的情况下获得推送通知。
如果您需要更多解释,或者您在任何方面感到困惑,请告诉我。