How to distribute internally with EAS --local build for iOS

Hi all,

I have successfully used Expos EAS build using their servers to compile and distribute the app to the devices defined in our AdHoc Provisioning Profile, I love the way it’s easy to share with our internal testers using the QR code.

However, my end goal is to avoid using Expos servers and run the EAS build locally using the --local flag. But all this gives me is a .ipa file which I can’t find any documentation on how to install onto an iPhone.

I noticed that the QR code that Expo’s service gives at the end of a build is a link to the manifest file, how do I get this manifest file when using the --local flag or is there another way to install this on to our internal test devices?

Many thanks

However, my end goal is to avoid using Expos servers

Currently, there is no way to fully isolate from expo servers, you still need to login even for local builds, we decided on that approach to support credentials management in local builds plus our build process is using username in a few places. It’s possible that in the future logging in won’t be necessary, but it’s not sth we will be working on in a near future.

you can write this manifest yourself, there is a lot of tutorials on how to do this, below there is the template we use you just need to fill up the empty values.

your link in HTML should point to
itms-services://?action=download-manifest;url=${manifestPlistUrl}

I don’t know if it will work on non-https so you might need to host it somewhere or use e.g ngrok

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>items</key>
    <array>
    <dict>
      <key>assets</key>
      <array>
        <dict>
          <key>kind</key>
          <string>software-package</string>
          <key>url</key>
          <string></string>
        </dict>
        <dict>
          <key>kind</key>
          <string>display-image</string>
          <key>url</key>
          <string></string>
        </dict>
        <dict>
          <key>kind</key>
          <string>full-size-image</string>
          <key>url</key>
          <string></string>
        </dict>
      </array>
      <key>metadata</key>
      <dict>
        <key>bundle-identifier</key>
        <string></string>
        <key>bundle-version</key>
        <string>1.0</string>
        <key>kind</key>
        <string>software</string>
        <key>title</key>
        <string></string>
      </dict>
    </dict>
    </array>
  </dict>
</plist>
1 Like