n00neimp0rtant / xCon-Issues

public "forum" for xCon requests
185 stars 45 forks source link

Spotify Issue + Version 41 #578

Open Iomega0318 opened 8 years ago

Iomega0318 commented 8 years ago

So the updated version which I know was not released by you is available on the Cydia App Store, it works for iOS 9.1 which is what I'm currently on.. Kinda got tired of waiting lol.. However and this seems to be a recurring issue with xCon not just with v41, this tweak breaks Spotify (random closes, not crashes I checked, random song pausing, etc.) this is an issue that goes beyond and before v40 and the unofficial v41. Was just checking some Reddit posts about Spotify issues and the most common one I found was to remove xCon, doing so fixed my issue..

However an updated and working version is definitely needed, I use Uber Partner and it has the lame jailbreak detection built into it and neither Flex 2 or tsProtector will work with it, v41 works with it but I use Spotify constantly as well..

So please consider updating to support iOS 9.x, I'm sure if you need a device to develop on the community would be more than willing to help acquire you one..

johnsoninnyc commented 8 years ago

Since you will be waiting for at least the next jailbreak, for a workaround you can manually edit the xcon filter plist at:

/Library/MobileSubstrate/DynamicLibraries/xCon.plist

Edit it using iFile (it can be edited inside of iFile either as a property list or as text); notice the Bundles key:

Bundles
<array>
  <string>com.apple.UIKit</string>
</array>

"com.apple.UIKit" means xCon loads into all apps -- go ahead and change it to "com.apple.UIKitt" which will stop xCon from loading into anything (due to the extra "t" at the end). After saving this edit, force quit then re-open spotify and make sure it works properly.

If it does-great - just add more string keys to the array ( or lines if editing as text ) with the bundle IDs of all the apps you need xCon for. You can get the bundle ID's with this web utility:

http://offcornerdev.com/bundleid.html

So,.. to load xCon in only eBay and Skype, for example, you would have:

...

Bundles
<array>
  <string>com.apple.UIKitt</string>
  <string>com.ebay.iphone</string>
  <string>com.skype.skype</string>
</array>

....

and so on. you can keep the misspelled "com.apple.UIKitt" key in there as a harmless placeholder if you want, or delete it.

If you aren't familiar with these kind of operations, would suggest enlisting help of friend who is. If you somehow corrupt the plist editing it , no biggie: either xCon will regenerate a valid one upon re-spring, or if not, simply uninstall then reinstall xCon.. Just don't mess with the xCon.dylib or other files in there.

btw I use xCon in this "targeted" fashion myself - works fine ..

Good luck!

Iomega0318 commented 8 years ago

That is absolutely amazing and you are awesome! I think xCon is by far the best out there for jailbreak detection and I honestly can't wait for an updated release, however until then the unofficial v41 from the random Russian user who created it actually works great haha, Spotify seemed to be the only one who actually had issues with it :) and I honestly only need to use it when I come across an app that requires me to use it, i.e. Uber Partner (even though they will let you use it on a rooted android!) and then Pokemon Go lol..

I will go experiment with your fix and let you know how it works, thank you!

Iomega0318 commented 8 years ago

You are amazing sir! Tested it on the Uber Partner App since that's the worst culprit and since it's not available through the App Store it wouldn't show on the website so I installed a tweak off Cydia called BundleIDs from Sassoty which just shows every app you have installed, one click copies the BundleID to your clipboard and then just pasted it where needed.

Works like a charm! I'm going to leave this open for the Spotify issue though, but thank you again!

johnsoninnyc commented 8 years ago

great to hear !

also fwiw, as far as I know xCon 41 is not a new "version" at all. It is simply v40b8 that has been pre-code signed.

Since it's hard to know if any other nasty surprises are bundled into this "Russian v41" binary, it's much safer to use v40b8 and sign it yourself - it's easy:

Here's Lunatik's orig link to 40beta8:

https://goo.gl/rcGmgv

then after installing 40b8, in a terminal or ssh session logged in to the device as * root * , enter:

ldid -S /Library/MobileSubstrate/DynamicLibraries/xCon.dylib

the command will produce no output upon success. this command codesigns the binary which is required now in iOS 9. you only need to do this one time end it survives re-Springs/reboot.

Iomega0318 commented 8 years ago

Also good to know, I will do that myself then just to be safe! You're full of useful information, tell me more haha :)