Luk*_*uke 22 iphone iphone-developer-program
客户要求我们开发专有的内部应用程序来管理其后端系统.但是,我们是一家小型开发公司,我确信他们的公司没有> 500名员工.
是否有任何替代但类似的解决方案,无需通过iPhone企业计划即可将此应用程序分发给他们的公司?
(只是为了澄清:显然,我们希望通过官方企业计划,但看到公司没有> 500名员工,这是不可能的).
更新(27/09): Apple似乎已经删除了企业分销的500名员工限制.请参阅此处.所以现在这可能是我们的路线(这很有用,因为应用程序即将完成).如果有人愿意,我会在整个过程中更新这个,以便其他人可以了解实际过程是什么样的.
Bry*_*utt 22
您可以在AppStore上将该应用程序作为完全免费的应用程序提交,但要求用户登录并进行身份验证才能使用它.这样任何人都可以下载它,但你可以控制谁可以实际使用它.Apple为您完成所有分发,您不必担心Ad-Hoc部署或IT部门.
然后,您可以在Web主机(或Google AppEngine等平台)上构建一个非常简单的配置管理系统,用于管理应用程序的身份验证.
当用户启动免费应用程序时,会要求他们输入用户名/密码/等等.该信息将发送到基于Web的配置管理系统并进行确认.如果应用程序从配置管理系统收到可接受的确认,则它会解锁自己以供该用户使用.
应用程序可以在每次启动时重新进行身份验证(如果您需要大量控制,则非常有用),或者可以在本地存储密钥文件,表明它已经过身份验证.如果它在应用程序启动时看到本地密钥文件,则会认为自己已经过身份验证,并且从不再次检查.
无论您是为每个人使用一个用户帐户还是为整个公司使用一个用户帐户,都取决于您.
如果您想要控制谁可以使用应用程序但希望AppStore提供易于部署,则此分发方式非常有用.
Apple已经在AppStore上接受了许多应用程序,这些应用程序使用这种方法对远程服务器进行身份验证(Skype就是一个很好的例子).
如果您在配置服务器上跟踪设备UDID,则还可以预加载它以允许某组设备工作.
此外,我没有描述任何特定于iPhone的内容,因此如果您移植应用程序或构建将来需要此类应用程序的其他应用程序,您可以在其他平台(如Android(甚至桌面))上使用相同的配置管理系统和概念.
此外,由于验证设备的操作不是处理器或数据密集型,因此如果您在Google AppEngine上构建此设备,则可能永远不会产生成本,因为您永远不会超过免费配额,您将获得Google后端架构的稳定性和可扩展性.
由于此特定部署用于管理内部后端系统,因此应用程序中嵌入了专有信息,特别是允许其连接到后端并对其进行身份验证的信息,因此通过AppStore部署内部后端系统似乎不安全.系统.
解决方案是不在应用程序中包含此信息,只是将该信息作为应用程序从配置管理服务器收到的响应的一部分.基本上,应用程序包含执行其功能所必需的逻辑,但没有连接信息,它无法管理任何后端系统.
如果您在每次启动时对应用进行身份验证,则可以更改配置服务器上的连接信息,并且应用程序将更新为新信息,而无需任何新部署.用户只需要重新启动应用程序.这使您的客户可以灵活地更改其内部网络配置,而不会使应用程序代码无效.您还可以在应用程序中手动配置此信息,但在每台设备上设置应用程序时,如果您已经要设置配置管理系统,则可能会花费IT成本.
为了进一步保护上述解决方案,您可能希望将配置管理系统置于公司内部并位于公司防火墙后面,这样无论谁拥有应用程序,他们都无法连接到配置系统,除非它们位于公司的网络中.
我昨天和今天正在研究这个问题,而且似乎Apple(在过去一周内)已经取消了500名员工对企业发展的要求.但是,我相信您需要使用客户端注册的开发工具包为特定客户端开发/部署.
所以,如果你的客户A和客户B的工作,无论是客户端A和B就需要与苹果公司签署了业务开发,此时,你可以为他们开发的应用程序(如承包商),并使用他们的工具来构建和部署在他们的企业内.我认为贵公司也可以注册为业务开发人员.
Apple仍然要求您使用Dun&Bradstreet DUNS号码注册为业务开发人员.