Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

This copy of libswiftCore.dylib requires an OS version prior to 12.2.0 #3

Open
andrea-tech opened this issue Aug 31, 2019 · 5 comments

Comments

@andrea-tech
Copy link

andrea-tech commented Aug 31, 2019

Using the latest available version on BigBoss on an iPhone 6 running 12.4

SpringBoard dies with the error mentioned in title.

Only happens when I actually compile a Swift 5 source file in my project.

I tried deploying this from my own machine running Xcode 10.2.1 but got the same result.

@kabiroberai
Copy link
Owner

Is your project a SpringBoard tweak?

@andrea-tech
Copy link
Author

Yes it is

@kabiroberai
Copy link
Owner

I’m planning to issue an update to help resolve this issue, but for now I’d recommend modifying your libswift dependency to firmware (>= 12.2) | ${LIBSWIFT}. Let me know if that fixes it

@andrea-tech
Copy link
Author

Never mind, it seems that it had something to do with the way theos itself executes the build commands. I tried just compiling Swift Cocoa Touch Framework in Xcode and deploying that as a dylib and it worked just fine (even without the libswift package).

So yeah, looks like theos + this libswift is a no-go for now.

@kabiroberai
Copy link
Owner

The reason Xcode works fine is because it directly loads Swift from the system location, /usr/lib/swift. Meanwhile, Theos first checks /usr/lib/libswift and falls back to /usr/lib/swift if the former doesn’t exist (done using an rpath). This means that although Xcode libraries will work fine on iOS 12.2+, they’ll break on lower versions.

I realise that modifying the Depends: might not be the best solution since libswift could be pre-installed, so you might need to wait for an update to libswift in order to have your tweak work on both iOS 12.2+ as well as below. For now, a hacky workaround to test your tweak on iOS 12.2+ could be adding override _THEOS_TARGET_SWIFT_VERSION_PATH = ../swift to the top of your Makefile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants