Skip to content
This repository has been archived by the owner on Sep 25, 2023. It is now read-only.

AppStore Guideline

Zhang edited this page Apr 24, 2019 · 2 revisions

Uploading to AppStore

Possibly due to XcodeGhost, AAPL has added a bunch of extra protection measures in place which also stops us from using Hikari. Below is a non-exhaustive list of changes you will need to do for App-Store compatibility provided by the community.

Setting up Toolchain for AppStore

  • Use executables in Hikari.xctoolchain/usr/bin to override the executables in /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin, overwrite any existing files. Backup Original Content First In Case Something Went Wrong

  • Alternatively, you could use Hikari's toolchain to build normally then remove ``DefaultToolchainOverrideInfo`` from the IPA's Info.plist

Miscellaneous

  • For Archive, by default Xcode uses optimization which would also optimize-out some of our obfuscations, remember to manually turn it off
  • Disable BitCode, otherwise your app will be rejected due to the fact that AAPL is still using a legacy version of LLVM. Porting Hikari to the Open-Source Swift Toolchain might help with this.

Apple is notorious of rejecting apps that were heavily obfuscated.So instead of turning obfuscation on globally, you might want to use function annotation to only obfuscate critical part,And you should do so anyway for user's sake.