Week 4: AltStore
Since I can’t be an Apple Developer, and I can’t sell my phone and watch to change back to android. I tried to hack it in last week.
I finally found a way to install apps on my phone without being an Apple Developer. It’s called AltStore. Thanks to the flutter app, Blackhole.
How to pack a .*ipa file
In Xcode, you need a developer account to build or pack *.ipa
files. But you can go round this by using xcodebuild
command line tool.
After a bit of research, I found the solution from MrKai777
Firstly, make the project
I majorly work on multi-platform frameworks. If it is ionic or react native, then there is an ios
folder. If it is expo, run expo prebuild
to make the folder. I am not planning to use flutter for now, but I think it should be the same.
Secondly, find the scheme
using the command find the scheme from .xcodeproj
file.
xcodebuild -list -project <project_name>.xcodeproj
Thirdly, Make an archive
Besides the .xcodeproj
file there should be a .xcworkspace
file. Use the scheme to make an archive.
xcodebuild -workspace <project_name>.xcworkspace -scheme <scheme_name> -configuration Release clean archive -archivePath unsigned.xcarchive CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
then, you will get an unsigned.xcarchive
file.
Finally, make the ipa file
- right click the
unsigned.xcarchive
clickShow Package Contents
. - Enter the
Products
folder renameApplication
toPayload
- Compress
Payload
to make a*.zip
file - Rename the
Payload.zip
to<app_name>.ipa
How to install the ipa file
Just install the *.ipa
in iOS won’t work. You need to sign it first. If it just signing, there is a well known app (in mainland China) called i4Tools.
But there is a more convinient way to do this. Use AltStore.
I am using a PC. I will install it on Windows.
- Install iTunes and iCloud, not the microsoft Store version. Make sure to login in.
- Install the server.
- Start the server with Administrator permission.
- Sometime it keeps to ask for the apple id login, just copy the
SQLite3.dll
file from iTune folder to AltStore folder. - connect the phone to the PC, it will install AltStore on the phone.
- Open it on the phone, it will ask for a developer mode. It was in Settings -> Privacy -> Developer Mode. Turn it on.
- Trust the developer in Settings -> General -> Device Management -> Developer App.
In the App, in MyApp Tab, click the +
button, to install the *.ipa
file. Every signed App can stay for 7 days. After that, you need to resign it again. And you can only have 3 signed apps at the same time.
Working Experience
I work on a PC. To use a Mac fluently, I installed a Linux which runs VMware with Sonoma(14). That means to pack an App, I need to restart repeatedly. I tried Catalina(10.15) and Big Sur(11) on Windows. Big Sur is a little lagged, but still affordable. I am thinking to pack apps with a lower version Mac without rebooting. Or, maybe I will try to use github action for that.
Something Else
moon a monorepo tool. Yes, I have used Nx for a while, there is still something uncomfortable. I am trying this new monorepo tool.
Paying rent in Thailand need to write a cheque. Honestly, it is my first time to write a cheque. Just go to the bank counter, ask for a number, remember to select English for Chinese. Or they will call you in Thai. Then give them the passport, the account and the money, sign the cheque, done.