Need to see if your shared folder is taking up space on your dropbox π¨βπ»? Find out how to check here.
Forum Discussion
Mr_K
9 years agoExplorer | Level 3
Problems when migrating from API v1 to v2
When migrating my Objective C project for iOS from Dropbox API v1 to v2
I am changing my source code, replacing old
#import <DropboxSDK/DropboxSDK.h>
to new
#import <ObjectiveDropboxOfficial/ObjectiveDropboxOfficial.h>
But when compiling the project I get an error:
'ObjectiveDropboxOfficial/ObjectiveDropboxOfficial.h' file not found
Also in "Pods > Products" section in Xcode both "ObjectiveDropboxOfficial.framework" and "Pods_BASIC.framework" frameworks are marked in red color.
What settings are missing or what I am doing wrong?
Then I would recommend using Carthage, rather than CocoaPods, as it is less invasive. You can build the binaries with Carthage and then drage and drop them into each of your targets.
This approach will work better, I think.
26 Replies
Replies have been turned off for this discussion
- Greg-DB9 years ago
Dropbox Community Moderator
First, to confirm, it sounds like you're using the CocoaPods installation method, is that correct?
If so, can you share:
- your Podfile
- the version of CocoaPods you're using
- the version of Xcode you're using
Also, make sure you opened the .xcworkspace file and not the .xcodeproj file.
- Mr_K9 years agoExplorer | Level 3
Yes, I am following your instructions to install Dropbox SDK using CocoaPods.
My Podfile:
# Uncomment the next line to define a global platform for your project
platform :ios, '8.0'target 'BASIC' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
use_frameworks!# Pods for BASIC
pod 'ObjectiveDropboxOfficial'end
#target 'SB' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!# Pods for SB
#end
Here pod init command created target 'SB' because my project has two targets: main 'BASIC' app target and 'SB' static library target (SB library uses Dropbox commands, BASIC app uses SB library). But I commented this target out because otherwise I get pod install error if 'SB' static library is present as a target.
CocoaPods version is 1.2.1
Xcode version is 8.3.3
- Greg-DB9 years ago
Dropbox Community Moderator
What output did you get from 'pod install' for this Podfile?
Note that the Objective-C SDK supports iOS 9+, but you seem to be targeting iOS 8:
https://github.com/dropbox/dropbox-sdk-obj-c#system-requirements - Mr_K9 years agoExplorer | Level 3
$ pod install
Analyzing dependencies
Downloading dependencies
Using ObjectiveDropboxOfficial (3.0.15)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.
The very first pod install gave some warnings about framework path and compiler flags settings, so I added $(inherited) where it was necessary according to suggestion. After that pod install warnings went away.
Thank you for your note, changed my app deployment target to iOS 9 and updated Podfile to platform iOS 9.0.
#import <ObjectiveDropboxOfficial/ObjectiveDropboxOfficial.h>
still gives 'file not found' error.
- Greg-DB9 years ago
Dropbox Community Moderator
Thanks! It does look like that succeeded, and if this is still occurring when you're trying with iOS 9, we'll have to investigate further to see what the issue may be.
To help with that, would it be possible for you to supply a sample project, or stripped down version of your project that is exhibiting this issue? It sounds like there's something about the configuration of your project that may be relevant here.
If you're prefer to share privately, you can open an API ticket with it here:
https://www.dropbox.com/developers/contact - Mr_K9 years agoExplorer | Level 3
Yes, thank you for your time.
Here is the stripped down project which has only one compilation error we are speaking about: https://yadi.sk/d/UB0trH753Jz7tr
- Greg-DB9 years ago
Dropbox Community Moderator
Thanks! We'll look into it. - Stephen C.149 years ago
Dropbox Staff
Sorry for the delay here. Not sure why CocoaPods isn't working. Try adding `Pods_BASIC.framework` to `Link Binary With Libraries` under `Build Phases` for `SB` target (see attached image).
Let me know if this works for you.
- Mr_K9 years agoExplorer | Level 3
Thank you for your suggestion.
No, this did not help. Everything is the same.
I think that there could be some problems with SDK path, because an error like ".h file not found" is a compilation error, not linking error.
Also SDK files are marked with red color (image attached). This also can show some kind of problem with SDK location.
- Mr_K9 years agoExplorer | Level 3
Also I found this:
in BASIC project target in Build Phases there are two Run Script Phases:
[CP] Embed Pods Frameworks
[CP] Copy Pods Resources
and in SB project target these Build Phases are absent.
Maybe this can be the reason of error?
As far as I understand these Build Phases are created when installing pod, taking into account Podfile settings.
But in Podfile I have only one target: 'BASIC', target 'SB' is commented out, because if I also add 'SB' as a target:
platform :ios, '9.0'
target 'BASIC' do
use_frameworks!pod 'ObjectiveDropboxOfficial'
endtarget 'SB' do
use_frameworks!pod 'ObjectiveDropboxOfficial'
endI get these errors when installing pod:
$ pod install
Analyzing dependencies
[!] Unable to find host target(s) for SB. Please add the host targets for the embedded targets to the Podfile.
Certain kinds of targets require a host target. A host target is a "parent" target which embeds a "child" target. These are example types of targets that need a host target:
- Framework
- App Extension
- Watch OS 1 Extension
- Messages Extension (except when used with a Messages Application)
So, maybe this is the reason of error? But how to install pod for 'SB' target?
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
The Dropbox Community team is active from Monday to Friday. We try to respond to you as soon as we can, usually within 2 hours.
If you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X, Facebook or Instagram.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!