Skip to content

mikehouse/Kinopub-IPA-Resign

Repository files navigation

Kinopub service .ipa resign automation

Requirements

  • MacOS
  • ruby 3.2+
  • bundler
  • Apple Certificate installed in Keychain Access app

Kinopub tvOS

About

Original tvOS .ipa file taken from official telegram chat.

shasum -a 256 ./tvos/micro_tvOS-25_11.2023.ipa

should produce 0f91b1830684f28125b9bc4b2296fcf48f3d6cd5ffb5746e954822ff0c96e16d hash.

Install dependencies (see Gemfile)

bundle install

Resign KinoPub tvOS .ipa file

  • Call from the repo root directory. Must use an absolute file path.
bundle exec fastlane resign_ipa_tvos provision:/Users/$USER/Downloads/embedded.mobileprovision
  • If you know what identity needed, you can pass it explicitly (or the script will search it through found certificates):
bundle exec fastlane resign_ipa_tvos identity:5EBCD74500DBE201A18629CDCE743303F47D0941 provision:/Users/$USER/Downloads/embedded.mobileprovision

Result

On success, the result can be found at ./fastlane/resign/micro_tvOS-25_11.2023.ipa

What it will do

  1. It takes original Kinopub tvos .ipa file (./tvos/micro_tvOS-25_11.2023.ipa)
  2. Unpacks it
  3. Takes bundle id from your provided mobileprovision file and replaces Kinopub's one
  4. Removes from Kinopub's application Plugins directory as not required
  5. Repacks it back to .ipa
  6. Uses fastlane resign tool (https://docs.fastlane.tools/actions/resign/) to resign .ipa file by provided mobileprovision

Install .ipa tvOS

Xcode way (simple Developer signature)

  • Unpack generated ./fastlane/resign/micro_tvOS-25_11.2023.ipa (change .ipa extension to .zip and unzip it)
  • Find there ./fastlane/resign/Payload/Kinopub.app directory
  • Open Xcode → Window → Devices and Simulators
  • In the Devices section find your Apple TV
  • Click Add installed app plus button
  • Select there ./fastlane/resign/Payload/Kinopub.app directory

ideviceinstaller (simple Developer signature)

Install an app bundle directly to a device using ideviceinstaller from libimobiledevice

# find connected Apple TV 
idevice_id # 00008000-001A048C3A712345

# install an app to a device
ideviceinstaller --udid 00008000-001A048C3A712345 --install ~/Downloads/kinopub_app_resign/fastlane/resign/Payload/Kinopub.app

Ad-Hoc Distribution Signature

  • For this kind of distribution, you can install the app using .ipa file, send it to the device via AirDrop

How to create .mobileprovision using Xcode (Free Developer Program)

  1. Open Xcode
  2. LogIn in Xcode using your Apple ID (Preferences → Accounts)
  3. Create a new project
  • File → New → Project
  • Select there tvOS tab
  • Select App

  • Type your app bundle id
  • Select your developer team
  1. Be sure the device destination is set as your real paired Apple TV that Xcode is able to add its UUID to .mobileprovision file as you can use .mobileprovision with unknown device UUID.

  1. Build project (Product → Build)
  2. Go to the build project directory (Product → Show Build Folder in Finder)
  3. Find there in Products/Debug-appletvos/your-app-name.app/embedded.mobileprovision file

KinoPub iOS and iPad App

shasum -a 256 ./ios/Cinepub_2.33-23042026.ipa # 073308d32d7fc26ba6eab83f0db19014eca0c4615d42213f3a0d6303adba9564

Resign the iOS App

bundle exec fastlane resign_ipa_ios provision:/Users/$USER/Downloads/embedded.mobileprovision
  • With identity
bundle exec fastlane resign_ipa_ios identity:5EBCD74500DBE201A18629CDCE743303F47D0941 provision:/Users/$USER/Downloads/embedded.mobileprovision

Result

On success, the result can be found at ./fastlane/resign/Cinepub_2.33-23042026.zip

What it will do

  1. It takes the original Kinopub iOS.ipa file (./ios/Cinepub_2.33-23042026.ipa)
  2. Unpacks it
  3. Takes bundle id from your provided mobileprovision file and replaces Kinopub's one
  4. Removes from Kinopub's application Plugins directory as not required
  5. Repacks it back to .ipa
  6. Uses fastlane resign tool (https://docs.fastlane.tools/actions/resign/) to resign .ipa file by provided mobileprovision

Install .ipa iOS / iPadOS

Xcode way (simple Developer signature)

  • Unpack generated ./fastlane/resign/Cinepub_2.33-23042026.ipa (change .ipa extension to .zip and unzip it)
  • Find there ./fastlane/resign/Payload/Cinepub.app directory
  • Open Xcode → Window → Devices and Simulators
  • In the Devices section find your Apple TV
  • Click Add installed app plus button
  • Select there ./fastlane/resign/Payload/Cinepub.app directory

ideviceinstaller (simple Developer signature)

Install an app bundle directly to a device using ideviceinstaller from libimobiledevice

Ad-Hoc Distribution Signed

  • For this kind of distribution, you can install the app using .ipa file, send it to the device via AirDrop
# find connected iPhone 
idevice_id # 00008000-001A048C3A712345

# install an app to a device
ideviceinstaller --udid 00008000-001A048C3A712345 --install ~/Downloads/kinopub_app_resign/fastlane/resign/Payload/Cinepub.app

Untrusted Developer Warning

To fix this, go to Settings → General → VPN & Device Management → Developer App and click on the 'Trust $ {email}' button.

How to create .mobileprovision using Xcode

The same way as for Kinopub tvOS, except use iOS Xcode App template and select there your real iOS device


About

Kinopub application IPA resign tvOS iOS

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages