MEbling322309 (Community Member) asked a question.

Has any successfully gotten bitcode turned on for Carthage libraries in their iOS apps? I have search the Veracode Help Center as well as the community of found nothing.

  • MEbling322309 (Community Member)

    Thank you for your response.

     

    As for the "outside the scope of Veracode documentation", I disagree. The main Veracode documentation for iOS gives explicit instructions for turning on Bitcode for Cocoapods. It seems reasonable to expect that similar instructions (even pointers to external sites) could be expected to appear in the Veracode Help Center.

    Expand Post
    • Hi @MEbling322309 (Community Member)​ ,

       

      Sorry I missed a sentence in my original response, I've fixed it and reposted it below.

       

      Unfortunately, maintaining documentation for Carthage is outside of our scope at this moment. If you would like to request documentation support for Carthage please consider proposing a Veracode Community Idea: https://community.veracode.com/s/ideas .

       

      Thank you,

      Boy Baukema

      Expand Post
    • Hi @MEbling322309 (Community Member)​  - our engineering team looked into this a bit. Bitcode is enabled as a default setting in Carthage, see this reference in the Carthage documentation:

       

      https://github.com/Carthage/Carthage#if-youre-building-for-ios-tvos-or-watchos

       

      You shouldn't need to change any defaults, unless the framework pulled in by Carthage is dependent on a prebuilt framework that is not compiled with bitcode enabled. If that is the case, you would need to obtain a bitcode build of that framework from the framework distributor (or compile one yourself) in order for the full application to compile with bitcode enabled.

       

      I hope that this helps clarify. Thanks!

      Expand Post
  • Hi  @MEbling322309 (Community Member)​ ,

     

    Carthage uses xcodebuild to build referenced libraries. If those libraries have BITCODE_ENABLED=NO then no Bitcode will be produced. I would recommend reaching out to the respective library authors to ensure they include Bitcode in their build process. If they do not, you can look into manually modifying the build process for these libraries to produce bitcode, something like this may help: https://stackoverflow.com/questions/47431964/bitcode-disabled-on-carthage-dependencies . Though it may not be possible to generate bitcode for these libraries without further modifications.

     

    Please note that while Veracode Static Analysis requires that iOS apps are built with Bitcode, ensuring that (Carthage managed) libraries are built with Bitcode is outside of the scope of Veracode documentation.

    Instead I would recommend contacting the library authors and/or the general development community.

     

    However, if anyone else has tips or recommendations for getting Carthage libraries built with Bitcode please do feel free to mention them here!

     

    Thank you,

    Boy Baukema

    Expand Post

Topics (2)

No articles found
Loading

Ask the Community

Get answers, share a use case, discuss your favorite features, or get input from the community.