We are using Neatplug's flurry analytics plugin for our Unity game. Everything was going fine till we updated unity to the version 5.1.1P1. Doing so made iOS build (linking) to fail in xcode (using IL2CPP scripting backend, with universal architecture targeted). Here is the error :
ld: warning: ignoring file /.../Libraries/Plugins/iOS/libflurry-analytics-plugin-simulator.a, missing required architecture arm64 in file /.../Libraries/Plugins/iOS/libflurry-analytics-plugin-simulator.a (2 slices) ld: warning: ignoring file /.../Libraries/Plugins/iOS/libsmart-iap-plugin-simulator.a, missing required architecture arm64 in file /.../Libraries/Plugins/iOS/libsmart-iap-plugin-simulator.a (2 slices)
Undefined symbols for architecture arm64: "_SecItemUpdate", referenced from: -[FlurryKeychainWrapper updateValueData:forKey:] in libFlurry.a(libFlurry.a-arm64-master.o) "_kSecValueData", referenced from: -[FlurryKeychainWrapper setData:forKey:] in libFlurry.a(libFlurry.a-arm64-master.o) -[FlurryKeychainWrapper updateValueData:forKey:] in libFlurry.a(libFlurry.a-arm64-master.o)
"_kSecAttrAccessibleWhenUnlocked", referenced from: -[FlurryKeychainWrapper setData:forKey:] in libFlurry.a(libFlurry.a-arm64-master.o) "_kSecAttrAccessible", referenced from: -[FlurryKeychainWrapper setData:forKey:] in libFlurry.a(libFlurry.a-arm64-master.o) "_SecItemDelete", referenced from: -[FlurryKeychainWrapper removeObjectForKey:] in libFlurry.a(libFlurry.a-arm64-master.o) "_SecItemAdd", referenced from: -[FlurryKeychainWrapper setData:forKey:] in libFlurry.a(libFlurry.a-arm64-master.o) "_kSecMatchLimitOne", referenced from: -[FlurryKeychainWrapper dataForKey:] in libFlurry.a(libFlurry.a-arm64-master.o)
"_OBJC_CLASS_$_SKProductsRequest", referenced from: objc-class-ref in libsmart-iap-plugin.a(SmartIAP.o) "_SecItemCopyMatching", referenced from: -[FlurryKeychainWrapper dataForKey:] in libFlurry.a(libFlurry.a-arm64-master.o) "_kSecClass", referenced from: -[FlurryKeychainWrapper setupSearchForKey:] in libFlurry.a(libFlurry.a-arm64-master.o) "_kSecAttrService", referenced from: -[FlurryKeychainWrapper setupSearchForKey:] in libFlurry.a(libFlurry.a-arm64-master.o)
"_OBJC_CLASS_$_SKMutablePayment", referenced from: objc-class-ref in libsmart-iap-plugin.a(SmartIAP.o) "_kSecClassGenericPassword", referenced from: -[FlurryKeychainWrapper setupSearchForKey:] in libFlurry.a(libFlurry.a-arm64-master.o) "_kSecAttrAccount", referenced from: -[FlurryKeychainWrapper setupSearchForKey:] in libFlurry.a(libFlurry.a-arm64-master.o) "_kSecAttrGeneric", referenced from: -[FlurryKeychainWrapper setupSearchForKey:] in libFlurry.a(libFlurry.a-arm64-master.o) "_kSecMatchLimit", referenced from: -[FlurryKeychainWrapper dataForKey:] in libFlurry.a(libFlurry.a-arm64-master.o) "_kSecReturnData", referenced from: -[FlurryKeychainWrapper dataForKey:] in libFlurry.a(libFlurry.a-arm64-master.o)
"_OBJC_CLASS_$_SKPaymentQueue", referenced from: objc-class-ref in libsmart-iap-plugin.a(SmartIAP.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
We sent this to Neatplug's support but we had no answer. Thank you for your help