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

Add FMDB as an external dependency #2348

Merged
merged 1 commit into from Jun 23, 2017
Merged

Add FMDB as an external dependency #2348

merged 1 commit into from Jun 23, 2017

Conversation

tiennou
Copy link
Member

@tiennou tiennou commented Apr 20, 2017

Because I got really tired of objc[14949]: Class FMDatabase is implemented in both $1 and $2. One of the two will be used. Which one is undefined. * @[Safari, Firefox, Chrome] * @[FMDatabase, FMResultSet, FMStatement] on each launch.

Note, I'm pretty sure it works, but just in case, you should try running QS, right-click "Show in Finder" the Products/fmdb.framework and delete that from the built product as soon as QSFoundation is built, before it launches (else Xcode will rebuild it). You'll either get a successful launch, or a dyld failure.

@skurfer
Copy link
Member

@skurfer skurfer commented Apr 20, 2017

So glad to see this. I was planning to do it one day.

Should we add JSONKit, too? I thought there was more than one plug-in using that.

@tiennou
Copy link
Member Author

@tiennou tiennou commented Apr 20, 2017

I'm actually deleting it 😆. I don't think we need it, now that there's NSJSONSerialization.

tiennou added a commit to quicksilver/GoogleChrome-qsplugin that referenced this issue Apr 20, 2017
Cocoa now has regexes and JSON, and FMDB is provided by QSFoundation (quicksilver/Quicksilver#2348).
tiennou added a commit to quicksilver/com.apple.Safari-qsplugin that referenced this issue Apr 20, 2017
@tiennou
Copy link
Member Author

@tiennou tiennou commented Apr 20, 2017

Note there's a catch, the resulting framework is not really complete : it's missing a Frameworks -> Versions/Current/Frameworks symlink. I'm not sure if it matters or not. It doesn't seem to, at least, and I don't think it makes a difference in practice, because the rpath is always relative to the link target (ie. Versions/A/QSFoundation).

@skurfer
Copy link
Member

@skurfer skurfer commented Jun 23, 2017

I don’t know if that symlink matters or not either, but I was able to build the Chrome plug-in, so probably not.

@skurfer skurfer merged commit ac8dc86 into master Jun 23, 2017
2 checks passed
@skurfer skurfer deleted the fix/fmdb-external branch Jun 23, 2017
skurfer added a commit that referenced this issue Jun 23, 2017
@skurfer
Copy link
Member

@skurfer skurfer commented Oct 6, 2017

I finally tracked the code signing failures to this change. I’m reading the docs, but if you have any ideas @tiennou, let me know.

@skurfer
Copy link
Member

@skurfer skurfer commented Oct 11, 2017

I’ve made progress on this. I noticed that before we sign the app, the FMDB framework already contains a _CodeSignature, even if I uncheck “Code Sign On Copy”. I went into the Xcode Project for the framework and changed its signing cert from “Ad Hoc” to “Developer ID Application” and it stopped signing the thing. What’s weird is that now I can’t change it back. It just says “Don’t Sign”, which is fine I guess.

So maybe this is something I should report upstream.

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

Successfully merging this pull request may close these issues.

None yet

2 participants