0
votes

I am hoping to get a little assistance with my latest Apple Mach-O Linker Error, which looks like this:

Undefined symbols for architecture armv7:
  "_kPFErrorCacheMiss", referenced from:
      ___48-[PFQueryTableViewController loadObjects:clear:]_block_invoke in ParseUI(PFQueryTableViewController.o)
  "_kPFErrorUnsavedFile", referenced from:
      -[PFImageView loadInBackground:] in ParseUI(PFImageView.o)
  "_kPFErrorInvalidImageData", referenced from:
      ___32-[PFImageView loadInBackground:]_block_invoke30 in ParseUI(PFImageView.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Apple Mach-O Linker Error

The errors seem to be complaining about certain parts of the Parse or ParseUI framework. I just updated to the latest versions of these Parse framework via CocoaPods using this command.

$ pod update

Which updated my CocoaPods dependencies to:

Bolts 1.1.4
Facebook-iOS-SDK 3.23.2
Parse 1.7.1
ParseCrashReporting 1.7.1
ParseFacebookUtils 1.7.1
ParseUI 1.1.3

Any suggestions on what I am missing here? I would appreciate the help!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Update

I get the following errors from CocoaPods when I run pod install

[!] The `MyApp [Debug]` target overrides the `OTHER_LIBTOOLFLAGS` build setting defined in `Pods/Target Support Files/Pods/Pods.debug.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `MyApp [Debug]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods/Pods.debug.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `MyApp [Release]` target overrides the `OTHER_LIBTOOLFLAGS` build setting defined in `Pods/Target Support Files/Pods/Pods.release.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `MyApp [Release]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods/Pods.release.xcconfig'. This can lead to problems with the CocoaPods installation
1
Are you getting any warnings or errors from CocoaPods after you run pod install or pod update?radiovisual
yes, I get 4 errors when I run pod install. I added the output to my question above.Ichigo Kurosaki

1 Answers

3
votes

Once you clean up the errors/warnings you are getting from CocoaPods, your problem should be resolved. These warnings that you are getting from CocoaPods should not be ignored, because they are telling you that there are potential conflicts with your current Build Settings, and the auto-generated build settings provided by the CocoaPods build.

Simply put: CocoaPods is telling to make sure that your current settings are not overriding the settings that CocoaPods recommends so your project can "find" the frameworks you are importing via CocoaPods.

To fix this, you can add $(inherited) to both of these settings:

<Your Target> > Build Settings > Linking > Other Librarian Flags 
<Your Target> > Build Settings > Linking > Other Linker Flags 

And make sure there aren't any other conflicting items in these settings.

Then clean your project, and build again. See if this helps.