2

I've been successfully using DBAccess as a cocoapod in my project for several months. A lot of changes have taken place in my tool chain in the last few weeks and now my build is failing. pod install indicates it installed DBAccess (1.6.9). Xcode version is 7.0.1. pod --version is 0.39.0.

On building my app in Xcode I see the linker warning: ld: warning: directory not found for option '-F/proj/DBAccess'

the framework actually lives in /proj/Pods/DBAccess

This warning isn't a problem (other than perhaps an indication of a bad installation) and I can build, run, and test app fine.

However, when I try to archive the app for submission to the app store, using jenkins/fastlane/pilot/xcode CLI, I get the following linker error:

ld: bitcode bundle could not be generated because '/Users/jenkins/.jenkins/jobs/proj/workspace/Pods/DBAccess/DBAccess.framework/DBAccess' was built without full bitcode. All object files and libraries for bitcode must be generated from Xcode Archive or Install build for architecture armv7

Here is the command line call that Jenkins made to arrive at this error: set -o pipefail && xcodebuild -workspace './proj.xcworkspace' -scheme 'proj' -destination 'generic/platform=iOS' -archivePath '/Users/jenkins/Library/Developer/Xcode/Archives/2015-10-12/proj 2015-10-12 16.33.37.xcarchive' archive | tee '/Users/jenkins/Library/Logs/gym/proj.log' | xcpretty

This error has me stumped because the DBAccess website claims 1.6.9 was built to fix this problem (http://www.db-access.org/downloads). Is anyone else having issues with DBAccess installed with cocoapods?

Cœur
  • 37,241
  • 25
  • 195
  • 267
Jack Jones
  • 23
  • 3

2 Answers2

2

I started using DBAccess (1.6.9) with Xcode(7.0.1). pod --version is 0.38.2.

ld: bitcode bundle could not be generated

DBAccess is closed free.
So You have to Enable Bitcode turn into NO.

Select POJECT > Build Settings > Build Options > Enable Bitcode
The default value is Yes. So turn into NO.

RAPT
  • 47
  • 7
1

Sorry for this issue, it is now fixed in 1.6.11. We put a fix in for XCode 7, but XCode 7.0.1 broke this again. So we had to find out how to compile a static library with bitcode within it, as it was not as simple adding the flag ENABLE_BITCODE.

DBAccess 1.6.11 is live on CocoaPods now.

NOTE: If anyone is interested, then the two things that need to be added to compile a framework to include bitcode are:

-fembed-bitcode-marker -fembed-bitcode

Adrian_H
  • 1,548
  • 1
  • 14
  • 27
  • Thank you very much for your prompt fix. You made my day! – Jack Jones Oct 13 '15 at 16:14
  • No problem. That's what we're here for. – Adrian_H Oct 13 '15 at 16:22
  • do you know why 'pod install' creates a workspace that has the -F option pointing to /proj/DBAccess instead of /proj/Pods/DBAccess? – Jack Jones Oct 14 '15 at 16:31
  • I will look into it, it's not something I know a great deal about unfortunately. We don't use cocoapods in our products because they have tended to have been less than straightforward or convenient, but it would seem we are in the minority. I'll read up on it and look at the pod spec. Might be best to fire is off an email and we'll keep in touch about it offline as there might be some back and forth. – Adrian_H Oct 14 '15 at 17:02
  • I've looked into it, but in my limited testing it installs in /projects/podtest/Pods/DBAccess for me. But i'm really not an expert in pods at all, i'd prefer it just added itself into the project instead of creating a separate workspace. Any further info or pointers you can give me and we'll look into it some more. – Adrian_H Oct 14 '15 at 19:13