AltStore-免越狱的iOS第三方应用商店

9,180 阅读3分钟

介绍

独立开发者Riley Testut最近研发了一个私人商店应用,AltStore。AltStore 是非越狱设备的替代应用程序商店,用户只需要用苹果 ID,即可使用它来安装那些通不过苹果审核的App。

使用方法

通过官方下载

altstore.io下载AltServer,然后将手机连接电脑进行安装。

通过Github

初次安装,需要先从github上AltStoreclone代码并运行到手机中。

需要Mac电脑中有如下配置:

  • Xcode 11
  • iOS 12.2+ (AltStore)
  • macOS 10.14.4+ (AltServer)
  • Swift 5+
  1. 从github上clone代码到本地
git clone https://github.com/rileytestut/AltStore.git
  1. 更新git子模块
cd AltStore 
git submodule update --init --recursive
  1. 打开AltStore.xcworkspace,选择运行的scheme为AltStore,并更改Signing & Capabilities中的BundleId和Team为自己的账号(无需开发者)。
    注意,Mac要连着手机,否则会提示 Failed to create provisioning profile. There are no devices registered in your account on the developer website. Plug in and select a device to have Xcode register it。

4&5. 修改AltStore目录下的Info.plist文件,将ALTDeviceID和ALTServerID修改为自己的手机设备UDID和网络服务ID,其中ALTServerID不是必须的,可以通过Bonjour软件获取。

  1. 用carthage安装第三方依赖。如果之前已有carthage则在目录下执行命令carthage update,否则先安装brew install carthage

  2. 运行app到手机中。

实现方式

从作者的博客Introducing AltStore中可得知,利用的是苹果对于普通开发者调试应用的签名机制。

正常每个用户都可以通过Xcode安装App到自己的手机中,在7天内可以正常运行。作者通过WIFI服务将Mac和手机相连,在使用期过期前通过Mac后台重新对App签名,让安装的App可以继续使用。

同时为了绕开每个用户只能本地安装3个App的限制,会在每次安装新App时,将所有已安装App的provisioning profiles拷贝并先移除,让系统误以为没有安装过任何应用,最后新App安装完成后再讲之前的provisioning profiles重新安装到手机中。

更多实现细节可以查看作者的博客

现状&思考

这种安装方式在目前市场上还是非常独特的,但AltStore还只能上传作者自己的应用,从9月份发布到现在还是只有两三个应用,商店能存活下来还在于应用数量,只有解决了该问题,让其他开发者可以直接上传应用才有可能推广。

另外,首次安装需要电脑来签名,后续续签也需要连入WIFT时电脑也是开启状态,但如作者所说,主要是面向未申请个人开发者的用户,无需再付费去签名,所以预计该应用商店并不会有很多受众,但在这些用户群体里还是很有用的。

最后就是安全问题,安装应用需要将苹果账号密码提交给AltStore,作者能获取到所有账号信息,这使安全得不到保证,后期是否能用区块链技术来实现去中心化还有待探究。