0

I recently updated to Xcode 12.3 and did the workaround to run the carthage dependencies. The build is fine but when I run the tests, I get the Illegal Instruction 4 error. I assume that the arm architecture issue causes that issue. I use Quick and Nimble coming from carthage and these are used in testing. I have tried setting the excluding archs and validate archs to yes but none of them worked.

I cannot move the libraries from carthage to pods or spm because there are so many configurations in the libraries. Updating to a new Xcode version is such a pain especially if you are using carthage.

UPDATE:

I downloaded the carthage version of 0.37 and implemented the xcframeworks into the project. To run the dependencies for xcframeworks, I run the following command:

carthage bootstrap --use-xcframeworks --no-use-binaries --platform ios
jorjj
  • 1,479
  • 4
  • 20
  • 36

1 Answers1

1

If you can use Carthage 0.37.0 and are able to use XCFrameworks, then this answer might be valuable for you In this vesion they added support for XCFrameworks and I find it quite nice to use. Especially since this popular workaround can finally be removed again.

blackjacx
  • 9,011
  • 7
  • 45
  • 56
  • thank you for your reply. I tried the new carthage version and now I get exit code 65 error on one of my dependencies. what am I doing wrong? – jorjj Feb 09 '21 at 01:24
  • can you provide the full output of carthage pls? – blackjacx Feb 09 '21 at 03:27
  • This is the error I get. The library I call is a custom sdk of mine. "Task failed with exit code 65: -sdk iphoneos ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive VALIDATE_WORKSPACE=NO -archivePath / SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO STRIP_INSTALLED_PRODUCT=NO (launched in MY SDK") This usually indicates that project itself failed to compile." – jorjj Feb 09 '21 at 05:38
  • 1
    In the carthage output you have an xcodebuild log file. It should show you what's going wring when Carthage builds your framework. Usually this means, you have a config error in your framework. – blackjacx Feb 09 '21 at 10:16
  • thanks for the help. I removed the scripts for carthage and cleared the old libraries. sdk and the project worked well. – jorjj Feb 09 '21 at 20:16