Unable to compile Aviary on iOS with SDK 4.4

I cannot run my app on iOS simulator only as I am upgrading to Aviary SDK 4.4. I can run the application on my iPhone and iPad.

clang: error: linker command failed with exit code 1 (use -v to see invocation)
ld: 30 duplicate symbols for architecture x86_64

      

The structure and package are visible in Linking Binaries with Libraries and Linking Resources.

Framework search path is in order in build settings.

Looks like the Aviary structure was managed twice?

I quit / restart Xcode, clear my app in iOS simulator, clean target and destroy DerivedData with no success.

It is very strange that I have no problem in real devices.

+3


source to share


1 answer


I have solved this problem. Here's how:

Decision

Don't use #import <AviarySDK/AviarySDK.h>

import classes you use directly instead. For example: #import <AviarySDK/AVYPhotoEditorController.h>

etc.

Cause



The reason, in my opinion, is the recently introduced one AVYPhotoEditorCompatibility.h

, which is enabled by default <AviarySDK/AviarySDK.h>

.

I think there is a problematic code here that uses typedef

withconst

typedef AVYPhotoEditorPremiumAddOn AFPhotoEditorPremiumAddOn AVY_PREMIUM_ADDON_NAMESPACE_DEPRECATED_ATTRIBUTE;
AVY_PREMIUM_ADDON_NAMESPACE_DEPRECATED_ATTRIBUTE AFPhotoEditorPremiumAddOn const AFPhotoEditorPremiumAddOnNone = AVYPhotoEditorPremiumAddOnNone;
AVY_PREMIUM_ADDON_NAMESPACE_DEPRECATED_ATTRIBUTE AFPhotoEditorPremiumAddOn const AFPhotoEditorPremiumAddOnHiRes = AVYPhotoEditorPremiumAddOnHiRes;
AVY_PREMIUM_ADDON_NAMESPACE_DEPRECATED_ATTRIBUTE AFPhotoEditorPremiumAddOn const AFPhotoEditorPremiumAddOnWhiteLabel = AVYPhotoEditorPremiumAddOnWhiteLabel;

      

+7


source







All Articles