• 1(current)
  • 2
  • 3
  • 4
  • 5
  • 69
  • Next 
 
Thread Rating:
  • 8 Vote(s) - 5 Average
Mac OS X - iOS App Signer - Install Kodi without Jailbreak (iOS and tvOS)
#1
Information 
Starting with Xcode 7 it's now possible to install apps onto iOS devices without a paid developer account.

But until now, in order to install Kodi on your device you had to compile Kodi from scratch which was somewhat difficult and could take quite a bit of time depending on your computer.

Well, here's an app I made to simply re-sign and package the deb files that Cydia uses for jailbroken devices

A note about tvOS

This program is perfectly able to sign tvOS applications but you cannot use the same provisioning profile as an iOS device

However, if you follow the instructions... in step one you'll have to choose tvOS application rather than iOS, everything else is the same

Kodi Deb Files

Stable (iOS)
Nightlies (iOS)
tvOS Test Builds

Application

iOS App Signer (Source Code)

Feeling generous? Donations for this app gratefully accepted.
Image

If you prefer to get your hands dirty with the Terminal and know what you're doing, there's also a shell script

Video

How to install Kodi on the Apple TV 4 with working top shelf

FAQ

Q: Can I do this with Windows?
A: Sort of...

Q: Is this permanent?
A: No, the code signing expires when either the provisioning file or signing certificate expires. For free accounts this is 7 days, paid accounts get 1 year.

Q: What happens after it expires?
A: Kodi will simply refuse to launch until you re-sign and re-install

Q: How do I update or resign?
A: Follow the guide starting from step 3.

Q: Will I lose my Kodi settings?
A: No, as long as you use the same identifier and don't remove the old app the settings will stay.

Q: Can I modify the userdata folder?
A: Yes, for iOS use iFunbox or another similar app. For Apple TV you can use iExplorer or use Xcode to backup the application container, modify, and then restore.

Q: I'm getting the error message "This App contains an app extension with an illegal bundle identifier"
A: Update iOS App Signer

Q: I'm getting a message saying that I don't have any signing certificates
A: This is caused by the system not trusting your developer certificate, make sure that you have this certificate installed. If that still doesnt work you can go into Keychain, login, certificates, and trust your developer certificate manually.

Prerequisites
Mac OS X (on a virtual or physical machine)
Xcode 7
Apple TV: USB-A to USB-C or USB-C to USB-C cable depending on your computer (newer MacBooks have USB-C connectors)
iPhone/iPad: a lightning or 30-pin cable (depending on your device)

Directions

Unless you already have a signing certificate and provisioning profile, you need Xcode 7 or newer which you can get on the Mac App Store

If you have a paid developer account or a signing certificate and provisioning profile, you can skip to step 7 and just use your signing certificate and the profile.


  1. Open Xcode and create a new iOS/tvOS application, it's not a bad idea to keep this around for when you need to renew the provisioning profile
    Image

  2. Type in a name and identifier (choose something unique, something like com.yourname.kodi)
    Image

  3. Xcode will complain about the provisioning profile, click fix issue
    Image

  4. Xcode may have you sign into an Apple ID, click Add...
    Image

  5. Then you'll see something like this, select your ID and click Choose
    Image
    If you have additional devices
    • Plug in the device
    • Go to the Product Menu
    • Under Destination, select your device
    • Repeat from step 3
  6. Xcode should no longer be complaining
    Image

    If you want a working tvOS top shelf follow these additional steps otherwise just continue to step 10

  7. Go to the Capabilities tab and turn on App Groups
    Image

  8. Add a new group with the format of group.* where * is the full app id entered earlier (in this case group.com.DanTheMan827.Kodi)
    Image
  9. Click fix issue

  10. Open App Signer, select the deb, your signing certificate, and the provisioning profile
    Image

  11. Click start and select an output filename

  12. To install the app onto your device go back into Xcode, select the Window menu and then click devices
    Image

    Then click the + and select the file generated by iOS App Signer
    Image

Troubleshooting

Kodi crashes or I get a grey screen
This is usually caused by a certificate error.
  • Open Keychain Access which is located in the Utilities folder inside Applications.
  • Select ‘Show Expired Certificates’ in the View menu.
  • Delete the Apple Worldwide Developer Relations Certificate Authority Intermediate certificates from both the login and system keychains.
  • Download and install the latest Apple WWDR certificate.

Then re-sign and re-install...

If it still does not work try completely resetting the Xcode certificates

Go into Xcode > preferences > accounts and remove your account from Xcode

Then go into keychain and then login and then certificates, delete anything that says iPhone Developer

Add your account back into Xcode it should complain about having to reset the certificates

Open finder and then go to the folder ~/Library/MobileDevice/Provisioning Profiles and delete everything inside there (Use command shift g for go to)

Then start follow the guide from step one since Xcode was completely reset
Reply
#2
Okay, so... it appears that while the script runs and supposedly signs everything there must be something I'm missing because if I install the IPA my script generates directly it crashes on launch but if I then sign that IPA using iResign it launches just fine.

Anybody have any ideas?


Edit: Fixed the script and updated github
Reply
#3
pull the crash log using xcode and see where it is crashing. beats guessing.
Reply
#4
Can this process be done on the New Apple TV? I currently have Kodi on my Fire TV Stick and waiting for my preordered Apple TV to deliver so I'm really hoping I can get Kodi on it as well. Thanks guys.
Reply
#5
(2015-11-02, 06:13)jdanyorozco Wrote: Can this process be done on the New Apple TV? I currently have Kodi on my Fire TV Stick and waiting for my preordered Apple TV to deliver so I'm really hoping I can get Kodi on it as well. Thanks guys.

yes, but that won't run on the new AppleTV, it runs TVOS, not iOS.
Reply
#6
Ok, I've figured it out and updated the script on github.

It all comes down to the fact that I was writing entitlements as a binary plist and apparently the iPhone doesn't like those...

Now the script runs perfectly well and can download the deb, extract, sign, and repack an installable IPA file

(2015-11-02, 05:31)MrMC Wrote: pull the crash log using xcode and see where it is crashing. beats guessing.

The app wasn't even generating a crash log, I checked...
Reply
#7
This is perfect as I have just downloaded and installed xcode 7.1.

I'll wipe my ipad tonight and update to 9.1 then test this script and see how it goes......
Reply
#8
Excellent.
Installed on iPhone 6 and iPad.
Reply
#9
Hi everyone

A big thank you to DanTheMan827 for his superb script - worked like a charm.

I have now liberated my iPad form jailbreak nightmares and have the only app that i jailbroke it for installed.


Thanks again for your help on this one and a big thank you also to Memphis for his iOS 9.x update to Kodi 15.2
Reply
#10
Thanks for doing this. However I'm having several issue with this latest version. First off, there are a number of bash failures:

Code:
./app-sign.sh: line 64: [: missing `]'
./app-sign.sh: line 69: [: missing `]'
2015-11-02 21:29:59.005 defaults[46326:1304106]
Domain (/var/folders/6_/xvgxg70d41sbt_v9rj45d5yh0000gn/T/tmp.VjN1La6x/out/Payload/Kodi.app/Info.plist) not found.
Defaults have not been changed.
security: unable to open "/var/folders/6_/xvgxg70d41sbt_v9rj45d5yh0000gn/T/tmp.VjN1La6x/out/Payload/Kodi.app/embedded.mobileprovision" for reading: No such file or directory
Cannot parse a NULL or zero-length data
./app-sign.sh: line 100: syntax error near unexpected token `then'
./app-sign.sh: line 100: `    if[ -e "$EntitlementsPlist"]; then'

If I fix the bash errors, I get:

Code:
2015-11-02 21:33:49.111 defaults[46357:1305139]
Domain (/var/folders/6_/xvgxg70d41sbt_v9rj45d5yh0000gn/T/tmp.Z1Ejcqh4/out/Payload/Kodi.app/Info.plist) not found.
Defaults have not been changed.
security: unable to open "/var/folders/6_/xvgxg70d41sbt_v9rj45d5yh0000gn/T/tmp.Z1Ejcqh4/out/Payload/Kodi.app/embedded.mobileprovision" for reading: No such file or directory
Cannot parse a NULL or zero-length data
/var/folders/6_/xvgxg70d41sbt_v9rj45d5yh0000gn/T/tmp.Z1Ejcqh4/out/entitlements.plist: unrecognized blob type (accepting blindly)
/var/folders/6_/xvgxg70d41sbt_v9rj45d5yh0000gn/T/tmp.Z1Ejcqh4/out/entitlements.plist: invalid length in entitlement blob

After which, I get an IPA file. But it won't install, giving me a:

Code:
App installation failed
No code signature found

I'm using OSX El Capitan, Xcode 7.1 and an iPad4

Any thoughts?
Reply
#11
OK - after some further bash fixes, I now get an installable API. Once I've trusted it in the devices, it's launching OK.

Thanks
Reply
#12
(2015-11-03, 00:17)dr_n Wrote: OK - after some further bash fixes, I now get an installable API. Once I've trusted it in the devices, it's launching OK.

Thanks

How did you fix? I'm having very similar issues. Not really a coding expert, but know a little hence why this method suited me.
Reply
#13
So, this is what happens when I make major changes without testing Undecided

Here's the latest tested revision that I know worked https://gist.github.com/DanTheMan827/158...1b89dec7ee
Reply
#14
HAHAH, welcome to dev world @DanTheMan827
Reply
#15
ok, the current version on github works, I added some error checking and fixed a few bugs.
Reply
  • 1(current)
  • 2
  • 3
  • 4
  • 5
  • 69
  • Next 



iOS App Signer - Install Kodi without Jailbreak (iOS and tvOS)58