Giter Club home page Giter Club logo

Comments (4)

vault087 avatar vault087 commented on June 9, 2024

Facing the same issue, is there any fix for that?

from wormholy.

hanishassim avatar hanishassim commented on June 9, 2024

I guess the library no longer actively maintained its been 11 months since this this issue first reported, and I also am facing the same issue

from wormholy.

pmusolino avatar pmusolino commented on June 9, 2024

Hello there. I'm so sorry you were experiencing this issue with Carthage.
This should be fixed in the latest release 1.7.0. https://github.com/pmusolino/Wormholy/releases/tag/1.7.0

This error occurred because of a change in Xcode 12, which made the simulator build also include the arm64 architecture (for Apple Silicon Macs). This is causing a conflict because now both the device and simulator builds have the same architecture, and they can't be merged into one fat framework.

The error message suggests a solution: rebuild with --use-xcframeworks to create an xcframework bundle instead.

You can do this by running the following command:

carthage update --use-xcframeworks

This will tell Carthage to build xcframeworks instead of universal (fat) frameworks. XCFrameworks is a new format that supports multiple architectures, platforms, and simulator/device slices in a single bundle, which solves the problem you're seeing.

After running this command, you'll need to update your project to link against the .xcframework bundles instead of the old .framework bundles. You can do this in the "Frameworks, Libraries, and Embedded Content" section of the "General" tab in your target settings in Xcode.

I can provide more detail about how to link against the .xcframework bundles in Xcode. Here are the steps:

  1. Open your Xcode project: Double-click the .xcodeproj or .xcworkspace file to open your project in Xcode.

  2. Select your target: In the project navigator on the left side of the Xcode window, click on the top-level project file (the one with the blue icon). In the panel that appears, click on your target under the "Targets" section. This will typically be the name of your app.

  3. Go to the "General" tab: In the panel on the right side of the window, click on the "General" tab.

  4. Remove the old .framework bundle: In the "Frameworks, Libraries, and Embedded Content" section, you'll see a list of all the frameworks and libraries that your app links against. Find the old .framework bundle (it will have the same name as the .xcframework bundle, but without the .xcframework extension). Click on it to select it, then click the "-" button below the list to remove it.

  5. Add the .xcframework bundle: Now you'll add the .xcframework bundle. Click the "+" button below the list of frameworks and libraries. In the dialog that appears, navigate to the location where the .xcframework bundle was created (this will typically be in the Carthage/Build directory in your project folder). Select the .xcframework bundle and click "Open".

  6. Link the .xcframework bundle: The .xcframework bundle will now appear in the list of frameworks and libraries. Make sure that the "Embed & Sign" option is selected in the dropdown menu next to the .xcframework bundle. This ensures that the .xcframework bundle will be embedded in your app bundle and will be correctly signed with your app's signature.

Now your project is set up to link against the .xcframework bundle instead of the old .framework bundle. You can build and run your project to make sure everything works correctly. If you encounter any issues, the error messages in Xcode should give you some clues about what's going wrong.

from wormholy.

pmusolino avatar pmusolino commented on June 9, 2024

Attaching a TestProject in case you want to test this change.

TestProject.zip

from wormholy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.