-
-
Notifications
You must be signed in to change notification settings - Fork 872
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
Xcode 12 compatibility #1561
Xcode 12 compatibility #1561
Conversation
I am not familiar as to what artifacts actually get produced by the Parse SDK build, pardon my ignorance, I integrate it nowadays via subproject build, but I do have another component which used to produce fat library with The
Each of the subdirectories contains libxxx.a which is a fat library containing slices for each of the supported architectures. Another potentially faster approach will be to go fully SPM. Not sure what is the better or easier/faster way. Martin |
It looks like Carthage is solving this issue by supporting XCFramework (draft PR). I'm guessing that's what we need to do too if we want to remain available on Carthage. |
Hi, |
Sorry I missed your response. Maybe it could be helpful. How would you go about integrating this? |
I dont know the internals of this project well enough, my suggestion here would be to
Note: |
If the plugin doesnt suite to your scenario, you can still bash it :) |
Just in case it helps any https://www.appcoda.com/xcframework/ |
So I found a moment to wrap my head around XCFramework and how we might use them here. Very much WIP. |
I've also removed the git submodule ref to the xctoolchain repo, and committed its contents here. As far as I can tell, that split was a remnant of the time when some of the projects in this workspace were in separate repos. I don't believe any other projects are using it. And working across repos is a pain. If I'm wrong about that, let me know, and I'll add it back. |
This issue has been automatically marked as stale because it has not had recent activity. If you believe it should stay open, please let us know! As always, we encourage contributions, check out the Contributing Guide |
This issue has been automatically marked as stale because it has not had recent activity. If you believe it should stay open, please let us know! As always, we encourage contributions, check out the Contributing Guide |
@drdaz I'm cleaning up the branches, we don't host "PR" branches in the main repo anymore. If the branch |
I was able to solve this by creating an Here are the commands I used: Parse.framework
Bolts.framework
|
@drdaz how could we revive this PR, what is missing or what would incentivize you to pick it up again? This PR seems to be critical to ensure the SDK stays relevant and usable. |
@mtrezza Cocoapods and Carthage are still go, and I suspect those are the main ways people use this. We haven't seen a large outcry at least.
I can look at this as my next Parse task if there's consensus for that being the most important thing? I should be able to poke at it this week and see what the state of things is, whether it makes sense to carry on this branch, or branch out from current main. This branched a while ago.
There are incentives? 😅 |
From your comment I would say it's good to stay compatible with newer Xcode versions, to not keep accumulating debt and reach a breaking point where we need to address a lot of issues at once. Is there something else that should get preference?
Sure, I already added a bounty to #1633. Not sure whether this PR fully relates to that issue, otherwise you could open a separate issue for this PR. |
I haven't been keeping tally, but there have been several requests for SPM compatibility I think. My gut feeling says that one is likely to help maintaining a userbase for this library, as SPM becomes more and more popular. They're both useful tbh, and they're both potentially deep-dives.
Nice.
They don't seem related to me. The problem in there revolves around the XCFrameworks that we're not yet creating ourselves. |
My guess would be to address the issues people currently face, not sure how many existing Parse developers are using SPM yet? Another aspect may be complexity, if fixing the carthage or xcframework building issues are smaller efforts and SPM support is a larger issue, maybe addressing them may bring a quicker benefit. What do you think, and what seems more appealing to you? |
There does seem to be some explicit interest in SPM support #1453.
Not many, since it's not supported 😅 I'm also not sure how many people install the SDK using the binary tagged releases. Or how people use the SDK generally. Usage analytics would be pretty awesome 🙂
I think this and SPM are both potentially deep-dives for me. I haven't looked at the Carthage issue yet; I'll check it out first. |
I mean use SPM for other dependencies :-)
I agree; if we need a poll to make a development decision or prioritize, we can publish it on Twitter, were we usually get the quickest response.
Sounds good. Feel free to open separate issues and I'll add bounty tags. |
@drdaz I just came across this note in the facebook-ios-sdk:
Maybe something to consider, since the Parse SDK's Facebook Utils have a dependency on that framework. |
Yeah this doesn't speak in favour of maintaining Carthage support. Although the fact that Carthage should still grab binary releases says it might just still work. But the days of FBSDK as a git submodule in the Parse project look pretty over 👍🏼 |
But that's why the FBSDK version is where it is right now. We kinda need them to fix facebook/facebook-ios-sdk#1936, so that we can move to SPM internally to upgrade it any further. I mean, not directly, but that's the path I'd take - rather than mincing about making other solutions work, just move to SPM internally. |
We need to get the build process running with Xcode 12.
There are issues with the lipo command in the build process; we include arm64 arch in both our simulator and our release builds, and then include them in the output. This is a new issue in Xcode 12, since the simulator used to only build for x86 (Apple Silicon cometh). Some approaches to working around this are outlined here.
It also looks like some tests are broken.
Whatever else needs fixing to migrate to Xcode 12, we can put here.
Close #1591