[URGENT] iOS - Linker error after update


#1

Hello,

I downloaded and installed latest versions (2.7.x) of the four iOS libraries. Installation went fine for all of them.

But when I try to run my project (that succesfully used all the libraries at their latest 2.6.x version), I’ve got the following linker error:

duplicate symbol _OBJC_CLASS_$_ShinobiEssentials in:
    /Applications/Xcode.app/Contents/Developer/Library/Frameworks/ShinobiEssentials.framework/ShinobiEssentials(ShinobiEssentials)
    /Applications/Xcode.app/Contents/Developer/Library/Frameworks/ShinobiGrids.framework/ShinobiGrids(ShinobiGrids)
duplicate symbol _OBJC_METACLASS_$_ShinobiEssentials in:
    /Applications/Xcode.app/Contents/Developer/Library/Frameworks/ShinobiEssentials.framework/ShinobiEssentials(ShinobiEssentials)
    /Applications/Xcode.app/Contents/Developer/Library/Frameworks/ShinobiGrids.framework/ShinobiGrids(ShinobiGrids)
ld: 2 duplicate symbols for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I’m using Xcode 6.0.1. The last time that I succesfully run the project I was using the last build of Xcode 5.

I even tried to install both the project and the libraries on a clean Mac, using the same version of Xcode, but I’ve got the same error.

What can I do to solve this?

Thanks


#2

Hi Punkers,

I’m sorry you’re having a problem - the issue here is on our side, Grids contains some classes from Essentials which unfortunately slipped the net - we’re hard at work getting a release out to fix this and I’ll add a post to this thread when it’s available. In the meanwhile I would suggest rolling back your grids version to the previous (essentials is fine and doesn’t need to be rolled back).

Kind regards,

Rob


#3

Hi Punkers,

Version 2.7.2.hotfix1 of ShinobiGrids should fix this. This version of ShinobiGrids is available from our Customer Portal. If you don’t have access to this then please email us on info@shinobicontrols.com with reference to this forum post and we’ll get something sorted our for you.

I hope that helps! :grin:

Ryan


#4

Im still having this error and I just downloaded about 5 days ago:

duplicate symbol _OBJC_CLASS_$_ShinobiEssentials in:
    /Applications/Xcode.app/Contents/Developer/Library/Frameworks/ShinobiGrids.framework/ShinobiGrids(ShinobiGrids)
    /Applications/Xcode.app/Contents/Developer/Library/Frameworks/ShinobiEssentials.framework/ShinobiEssentials(ShinobiEssentials)
duplicate symbol _OBJC_METACLASS_$_ShinobiEssentials in:
    /Applications/Xcode.app/Contents/Developer/Library/Frameworks/ShinobiGrids.framework/ShinobiGrids(ShinobiGrids)
    /Applications/Xcode.app/Contents/Developer/Library/Frameworks/ShinobiEssentials.framework/ShinobiEssentials(ShinobiEssentials)
ld: 2 duplicate symbols for architecture x86_64

#5

Hi Johnnytrops,

Are you downloading a trial version of ShinobiGrids? Could you let us know what version of grids you are using? You should be able to find out by logging the result from [ShinobiCharts getInfo].

Thanks,
Jan Akerman


#6

I have the same error, and I’m using version  2.7.2-5


#7

Greetings Programs!

I was just curious, did you install the framework via the pkg? I, myself, drag it to my own location and reference it instead of using the pkg.

I am using ShinobiEssentials 2.7.1.hotfix1 and ShinobiGrids 2.7.2.hotfix2.

I don’t know what type of Essentials you are using but I used the ShinobiDataGrid GettingStarted app and added the ShinobiEssentials framework and bundle to it and then added a sliding overlay to it. I found that after adding the ShinobiEssentials framework, I had to remove and re-add the ShinobiGrids framework for it to recognize the datagrid; after that, it ran with no errors.

I added the grid to both the overlay and underlay:

self.slidingView = [[SEssentialsSlidingOverlay alloc] initWithFrame:self.view.frame andToolbar:YES];
[self.view addSubview:self.slidingView];
 
// Create a grid - with a 40 pixel padding for the underlay (added to overlay as well)
shinobiDataGrid = [[ShinobiDataGrid alloc] initWithFrame:CGRectInset(self.slidingView.underlay.bounds, 40,40)];

[self.slidingView.underlay addSubview:shinobiDataGrid];

Wg


#8

I installed/re-installed via pkg. Do I need to uninstall the framework before install the new version?


#9

I’m not sure if it overwrites or uninstalls the previous version when installing with the pkg.

It wouldn’t hurt to use the uninstall.tool in the release archive to uninstall each framework and then re-install them.

Afterwards, call getInfo on the classes to verify the correct versions were installed:

NSLog(@"ShinobiEssentials: %@", [ShinobiEssentials getInfo]);
NSLog(@"ShinobiDataGrids: %@", [ShinobiDataGrids getInfo]);

Output:

ShinobiEssentials: Version: 2.7.1.hotfix1-7 - Standard edition, released on Dec 2 2014
ShinobiDataGrids: ShinobiGrids - Version: 2.7.2.hotfix2-1, Edition: Standard, Release Date:Dec 2 2014

Wg