-
Notifications
You must be signed in to change notification settings - Fork 463
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
Revert to real CoreFoundation based plist handling. #200
Conversation
This means we link against the real CoreFoundation framework, but there is no need for C ext compilation.
Personally, I don't think we should kill 1.8.7 support quite yet, and that making those still on it build fiddle's ext is fine. |
1.8.7 🔥 Xcode 6 is out for some weeks now and there's always older versions of CP for those still relying on 1.8.7 |
But have app store submissions with Xcode 5 been disabled? |
Especially since CocoaPods 0.34 is going to get a bug fix version bump, it seems like a bad moment to drop support now. I think that including the prebuild C ext that we included previously is good enough, it doesn’t even need the C source etc. If somebody is going to build Ruby 1.8.7 from source they are just cray cray and should be installing a current Ruby instead. With CocoaPods 0.35 we can drop Ruby 1.8.7 support. |
We had an issue with one of our current project no later than today: one dev of the team did a In the meantime I suggested them to install @0xced 's * By the way, I was surprised that a But the |
@AliSoftware CocoaPods has to touch the Application's project file to make sure that target dependencies and configuration files are properly set. |
@AliSoftware We never did that, though. The CoreFoundation APIs will read the ASCII format, but they will not create them. The only way this was ever supported was by installing xcproj.
@fabiopelosin recently mentioned that there’s a bug in 0.34 which makes it always touch the user’s project. I thought he had filed a ticket for it, but I can’t even find the comment right now. @fabiopelosin Can you file a ticket about this issue and why it’s occurring at all? |
@segiddins I get that sometimes CP has to change the Application's project to change the target dependencies and configuration files, but it would be really great if it wouldn't open the Application's project and resave it if there were no change to be done ;) For example open the Application project to check if the target deps and config files were already set as expected, but then only call That way the Application's project would keep its original UUIDs and its ASCII format — instead of generating XML format and new UUIDs that messes with GIT merges 😉 But it probably is what was implemented in earlier versions but has been broken in 0.34 like @alloy did just mention 😜 |
@alloy any plan on making Xcodeproj generate a ASCII-plist |
This is being discussed in #199. |
@alloy I found that in CocoaPods/CocoaPods#2561, that's probably the comment you were talking about? (We still need to open an issue about it, though) |
@AliSoftware Yes, that’s the one! |
…init function from the filename.
…ot autoloader on Ruby 1.8.7
Somebody verified if the current state of this branch works on 10.8 with Ruby 1.8.7 and it works fine! 🤘 https://gist.github.com/alloy/0d0b5aca8a1b80004f3e (That one failure is fine, it’s not supposed to work on 1.8.7 but I didn’t guard it.) |
|
Revert to real CoreFoundation based plist handling. Fixes #198.
This is an implementation of #198.
Instead of using a C extension, this uses the Fiddle API that comes with Ruby >= 1.9.3.
The obvious question is what to do with Ruby 1.8.7. A simple solution would be to keep including the C ext build for a few more versions or alternatively kill 1.8.7 support now.
/cc @CocoaPods/core