amazon-archives / aws-sdk-unity

ARCHIVED: The aws sdk for unity is now distributed as a part of aws sdk for dotnet:
https://github.com/aws/aws-sdk-net
Other
105 stars 43 forks source link

Ios build error #122

Closed madangosain closed 8 years ago

madangosain commented 8 years ago

Unity 5.2.4, AWS 2.1 Xcode 7.2 Unity ios setting ->Release, symlink unity library, IL2CPP device sdk 7.0min, universal, .net 2.0 subset,

What am I missing ?

Build Errors: Undefined symbols for architecture arm64: "_versionName", referenced from: _AmazonHookedPlatformInfo_versionName_m_1211397383_0 in Bulk_Assembly-CSharp_2.o (maybe you meant: _AmazonHookedPlatformInfo_versionName_m_1211397383_0) "_versionCode", referenced from: _AmazonHookedPlatformInfo_versionCode_m_1513656869_0 in Bulk_Assembly-CSharp_2.o (maybe you meant: _AmazonHookedPlatformInfo_versionCode_m_1513656869_0) "_packageName", referenced from: _AmazonHookedPlatformInfo_packageName_m_386148377_0 in Bulk_Assembly-CSharp_2.o (maybe you meant: _AmazonHookedPlatformInfo_packageName_m_386148377_0, _AN_PackageCheckResult_get_packageName_m573210147_0 ) "_title", referenced from: _AmazonHookedPlatformInfo_title_m_855623602_0 in Bulk_Assembly-CSharp_2.o (maybe you meant: _GoogleProductTemplate_get_title_m1438148491_0, _AmazonHookedPlatformInfo_title_m_855623602_0 ,

johnnyhoffman commented 8 years ago

Even with the specific configuration you have provided I haven't been able to reproduce this. Is there anything you have recently changed that may have caused this error to appear, or any thing else suspicious?

madangosain commented 8 years ago

I believe Amazon SDK is conflicting with another Unity plugin. Ideally both plugin should have their own namespace. Is that something you can fix easily? Thanks

madangosain commented 8 years ago

AmazonHookedPlatformInfo, if you can please rename these global exports to include namespace, that will resolve the problem. For now I've just commented them (updated calling code as well) and build works fine.

region external plugins

    /*

if UNITY_IOS

    [DllImport("__Internal")]
    extern static public string locale();
    [DllImport("__Internal")]
    extern static public string title();

    [DllImport("__Internal")]
    extern static public string packageName();

    [DllImport("__Internal")]
    extern static public string versionCode();

    [DllImport("__Internal")]
    extern static public string versionName();

endif

*/

endregion

karthiksaligrama commented 8 years ago

I wouldn't comment these out. Some of the services might not work properly if you do and you might get null pointers.

All the plugins code in unity is always a part of "__Internal" assembly, so i'm not sure how we can separate it out.

But you shouldn't face this problem in unityv3 as we have removed the plugins.

madangosain commented 8 years ago

Thanks