简体   繁体   English

如何在不设置 Apple Developer 帐户和团队的情况下构建 iOS 二进制文件?

[英]How to build an iOS binary without setting an Apple Developer account and team?

I'm using Xcode 6.3.2, and I'd like to let another people to build and create the .ipa files of my projects, but I don't want neither to expose my Apple Developer account information, nor create users for them in my team... is that possible?我正在使用Xcode 6.3.2,我想让其他人构建和创建我的项目的.ipa文件,但我不想公开我的Apple Developer帐户信息,也不想为他们创建用户在我的团队中……这可能吗? Either by using Xcode , either by commands line.通过使用Xcode ,或者通过命令行。

Thanks in advance提前致谢

EDIT: The goal is to prevent those external people from being able to submit apps to the App Store by means of my Apple Developer account and from being able to see the other apps managed in the account.编辑:目标是防止那些外部人员能够通过我的Apple Developer帐户向App Store提交应用程序,并且无法查看该帐户中管理的其他应用程序。

EDIT2: Does providing the distribution certificate to external people make possible to them to submit binaries to the App Store ? EDIT2:向外部人员提供分发证书是否可以让他们向App Store提交二进制文件?

After reading your edits, I think I understand more clearly what you are trying to do.阅读您的编辑后,我想我更清楚地了解您要做什么。 Basically, you will simply need to provide the other members of your team with the following:基本上,您只需向团队的其他成员提供以下信息:

  • The private key used to generate your app store distribution certificate.用于生成您的应用商店分发证书的私钥。
  • The distribution certificate经销证明
  • The app store distribution provisioning profile应用商店分发配置文件

This will allow those team members to work on, and build the app for the app store.这将允许这些团队成员工作,并为应用商店构建应用。 Without your Apple developer ID password, they will not be able to log into iTunes Connect to see the other apps you have.如果没有您的 Apple 开发者 ID 密码,他们将无法登录 iTunes Connect 以查看您拥有的其他应用程序。 While they will be able to build the app for app store distribution, you (as the only one with the apple ID password) will have to be the one to submit the compiled app to the store.虽然他们将能够为应用商店分发构建应用程序,但您(作为唯一拥有 Apple ID 密码的人)将必须是将编译后的应用程序提交到商店的人。

So basically, your development team will create the apps.所以基本上,您的开发团队将创建应用程序。 When you're ready for release, they can do an "Archive" in Xcode to create the .app that has been signed for the app store (using the provisioning profile and signing identity that you provided them in the three files I mention above. They will zip up the .app and the .dSym files into a .zip and send it to you. You will then log into iTunes Connect and set upt the app to be ready for the new binary, and then use the Application loader to upload the .zip to apple for review. Once you have gotten a successful review, you will again log into iTunes Connect to release the app. So at no point will the developers have access to submit apps or see other apps you have in the store.当您准备好发布时,他们可以在 Xcode 中执行“存档”以创建已为应用商店签名的 .app(使用您在我上面提到的三个文件中提供的配置文件和签名身份。他们会将 .app 和 .dSym 文件压缩成 .zip 并将其发送给您。然后您将登录 iTunes Connect 并设置应用程序以准备好新的二进制文件,然后使用应用程序加载器上传.zip 到苹果进行审核。一旦您获得成功审核,将再次登录 iTunes Connect 以发布应用程序。因此,开发人员在任何时候都无法提交应用程序或查看您在商店中的其他应用程序。

Also, the development team will not need the provisioning profile, cert, and key until they need to build for the app store.此外,开发团队在需要为应用商店构建之前不需要配置文件、证书和密钥。 During the development phase, there is no problem with them using their own developer accounts to build and test the app.在开发阶段,他们使用自己的开发者帐户来构建和测试应用程序是没有问题的。

One additional thing to note is that Apple is changing the roles that are available in iTunes connect.需要注意的另一件事是,Apple 正在更改 iTunes Connect 中可用的角色。 You may want to review those new roles to see if some combination of those roles my work for your team setup.您可能想要查看这些新角色,以查看这些角色的某些组合是否适合您的团队设置。

From http://9to5mac.com/2015/06/12/wwdc-itunes-connect-testflight-limits-account-switching/来自http://9to5mac.com/2015/06/12/wwdc-itunes-connect-testflight-limits-account-switching/

After several apps are added to an account by its admin, developers can now assign user roles to individuals on their team— app manager, developer, or marketer— with each allowing varying access to iTunes Connect features.在其管理员将多个应用程序添加到帐户后,开发人员现在可以将用户角色分配给他们团队中的个人——应用程序经理、开发人员或营销人员——每个人都允许对 iTunes Connect 功能进行不同的访问。 App managers, for example, will be able to create users, assign user roles, change pricing, and submit apps for review.例如,应用经理将能够创建用户、分配用户角色、更改定价以及提交应用以供审核。 Marketers will get access to updating store metadata, uploading promo material, and requesting promo codes.营销人员将可以访问更新商店元数据、上传促销材料和请求促销代码。 Users assigned the developer role will be able to upload binaries, and view crash logs and store metadata.分配了开发者角色的用户将能够上传二进制文件,查看崩溃日志和存储元数据。

Apple recently introduced Free-provisional-profile and/or free-developer-certificate support. Apple 最近推出了免费临时配置文件和/或免费开发者证书支持。
But it's limited (see below note).但它是有限的(见下文注释)。

To utilise that follow below steps suggested by Apple,要利用 Apple 建议的以下步骤,

  • In Xcode, add your Apple ID to Accounts preferences, described in Adding Your Apple ID Account in Xcode.在 Xcode 中,将您的 Apple ID 添加到 Accounts 首选项中,如在 Xcode 中添加您的 Apple ID 帐户中所述。

在此处输入图像描述

  • In the project navigator, select the project and your target to display the project editor.在项目导航器中,选择项目和您的目标以显示项目编辑器。
  • Click General and choose your name fromthe Team pop-up menu.单击“常规”并从“团队”弹出菜单中选择您的姓名。

在此处输入图像描述

  • Connect the device to your Mac and choose your device from the Scheme toolbar menu.将设备连接到您的 Mac 并从方案工具栏菜单中选择您的设备。

  • Below the Team pop-up menu, click Fix Issue.在团队弹出菜单下方,单击修复问题。

    Xcode creates a free provisioning profile for you and the warning text under the Team pop-up menu disappears. Xcode 为您创建了一个免费的配置文件,并且 Team 弹出菜单下的警告文本消失了。

在此处输入图像描述

  • Click the Run button.单击运行按钮。

Note that said support is limited, for example, the capability to sell things with "Apple Pay" would not even build with a free-certificate.请注意,上述支持是有限的,例如,使用“Apple Pay”销售商品的能力甚至无法通过免费证书构建。

Yes, there are several ways to solve your problem.是的,有几种方法可以解决您的问题。

  1. You can create .ipa file with you provisioning profile and give them the file, they can you use application called "Application Loader", they can use this application to upload the .ipa, this should resign your application with their provisioning profile.您可以使用您的配置文件创建 .ipa 文件并将文件提供给他们,他们可以使用名为“Application Loader”的应用程序,他们可以使用此应用程序上传 .ipa,这应该使用他们的配置文件退出您的应用程序。 I did not try this but it should work.我没有尝试过,但它应该可以工作。

  2. When you create an archive of you application, it will be listed in "Organizer", go to that location, and give them that .app file alone.当您创建应用程序的存档时,它将列在“组织者”中,转到该位置,并单独为他们提供该 .app 文件。 Then they can use any third party application(can be downloaded from Mac Appstore) to resign the application with their profile.然后,他们可以使用任何第三方应用程序(可以从 Mac Appstore 下载)使用他们的个人资料退出应用程序。 In this case, you are completely hiding your information.在这种情况下,您完全隐藏了您的信息。 They can even change the application icon, default image.. etc during the resigning process.他们甚至可以在辞职过程中更改应用程序图标、默认图像等。

  3. When you build your application in release mode an .app file is created, this is unsigned binary.当您在发布模式下构建应用程序时,会创建一个 .app 文件,这是未签名的二进制文件。 You can search for .app file in your Xcode project itself.您可以在 Xcode 项目本身中搜索 .app 文件。 Just find the location, and give them that .app file alone.只需找到位置,然后单独给他们那个 .app 文件。 Then they can use any third party application(can be downloaded from Mac Appstore) to resign the application with their profile.然后,他们可以使用任何第三方应用程序(可以从 Mac Appstore 下载)使用他们的个人资料退出应用程序。 In this case, you are completely hiding your information.在这种情况下,您完全隐藏了您的信息。 They can even change the application icon, default image.. etc during the resigning process.他们甚至可以在辞职过程中更改应用程序图标、默认图像等。

Hope this helps.希望这可以帮助。

No, There is no way to compile a .ipa without a provisioning profile (device compile, not simulator compile).不,没有配置文件(设备编译,而不是模拟器编译)就无法编译 .ipa。 To do this, you would go XCode->{AppTarget}->Build Settings->Code Signing->Code Signing Identity, and set 'Don't code sign".为此,您将转到 XCode->{AppTarget}->Build Settings->Code Signing->Code Signing Identity,然后设置“不要进行代码签名”。

Trying to compile afterwards will fail with之后尝试编译将失败

CodeSign error: Code signing is required for product type 'Application' in SDK... CodeSign 错误:SDK 中的产品类型“应用程序”需要代码签名... 在此处输入图像描述


EDIT: The goal is to prevent those external people from being able to submit apps to the App Store by means of my Apple Developer account and from being able to see the other apps managed in the account.编辑:目标是防止那些外部人员能够通过我的 Apple Developer 帐户向 App Store 提交应用程序,并且无法查看该帐户中管理的其他应用程序。

You have two options:你有两个选择:

  1. Send them your Source code + XCode Project, and not the library.向他们发送您的源代码 + XCode 项目,而不是库。

  2. Compile the code using "iOS Developer" Code Signing identity, and not "iOS Distribution" identity.使用“iOS Developer”代码签名身份编译代码,而不是“iOS Distribution”身份。

    • Anything signed with iOS Developer can never be sent to the AppStore.任何用iOS 开发者签名的东西都不能发送到 AppStore。
    • Anything signed with iOS Distribution can never be run on a device unless it is downloaded from the AppStore.除非从 AppStore 下载,否则任何使用iOS Distribution签名的东西都不能在设备上运行。
    • They can never see what you have for sale, nor publish anything unless they have your AppleID username and password他们永远看不到您要出售的东西,也无法发布任何东西,除非他们拥有您的 AppleID 用户名和密码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 是否可以在不支付Apple开发人员帐户的情况下将其添加为Enterprise Apple开发人员团队的成员? - Can I be added as a team member to Enterprise Apple developer team without having paid Apple developer account? 无需 Apple 开发人员帐户即可分发 iOS 应用程序 - Distribute iOS Application without an Apple Developer Account 如何共享一个单独的Apple iOS开发者帐户 - How to share an Individual Apple iOS Developer Account 没有苹果开发者帐户,如何降级Xcode? - How to downgrade Xcode without apple developer account? 无需开发人员帐户即可在本地构建iOS应用 - Build iOS app locally without a developer account react-native - 在没有Apple Developer帐户的情况下部署到iOS - react-native - Deploying to an iOS without an Apple Developer Account 如何使用没有Apple开发者帐户的Delphi Seattle将iOS应用程序部署到iPhone? - How to deploy iOS app to a iPhone using Delphi Seattle without Apple developer account? 如何在没有付费Apple开发人员帐户的情况下通过终端在真实设备中运行iOS应用程序? - How to run iOS application in real device through terminal without a paid apple developer account? 如何在没有 Apple Developer Membership 的情况下重置/删除 Apple Developer Team 最多的设备 - How to reset/remove apple developer team maximum devices without Apple Developer Membership iOS:一个人可以在多个Mac上(作为一个团队)共享一个Apple开发者帐户吗? - iOS: Can more than one person share an Apple developer account (as a team) on multiple Macs?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM