iOS Linker Error using prime31 StoreKit Plugin

Undefined symbols for architecture armv7:
“storeKitRestoreCompletedTransactions”, referenced from:
RegisterMonoModules() in RegisterMonoModules.o
“storeKitRequestProductData”, referenced from:
RegisterMonoModules() in RegisterMonoModules.o
“storeKitPurchaseProduct”, referenced from:
RegisterMonoModules() in RegisterMonoModules.o
“storeKitValidateReceipt”, referenced from:
RegisterMonoModules() in RegisterMonoModules.o
“storeKitValidateAutoRenewableReceipt”, referenced from:
RegisterMonoModules() in RegisterMonoModules.o
“storeKitGetAllSavedTransactions”, referenced from:
RegisterMonoModules() in RegisterMonoModules.o
“__storeKitCanMakePayments”, referenced from:
RegisterMonoModules() in RegisterMonoModules.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I have added Storekit.framework in my build settings .If any one please suggest me that what kind of error is this and how it can be solved?

Thanks in Advance!

You probably only did an append build, not a NEW fresh build (only need to do that once after you put a new plug-in in). Build a brand new build and see what happens?

Hi I am also try this but not working for me.

Would love some help on this as I’m having the exact same problem. I am on Unity 4.3.3f1 and xCode 5.0.2. I added the StoreKit plugin and as the directions said, I added the StoreKitManager component to a gameobject. I personally build for iOS on my PC into a Dropbox folder, and then compile that same Dropbox folder in Xcode on my Mac using OSX 10.8.5. This is the only case where I’ve seen someone with the exact same issue. But the suggestion above to do an Append Build, either I’m missing or doesn’t exist any more. I do clear the folder where I build to before building. And in Xcode I do a Project>Clean before doing a Project>Build. But in all cases, I get the above linker errors. I am relatively new to Unity and Xcode, so it could be something that’s obvious to everyone else, but would love to get past this. Thanks.

Update: Still not fixed, but additional details. I found that ridiculously massive thread about Prime31 and managed to find a few other suggestions (none of which worked).

  • I tried deleting the plugin completely and reinstalling. Made sure to redownload it from my invoice email to make sure I had the latest one before reinstalling.
  • I noticed after the reinstall that it said I didn’t need to attach StoreKitManager to a gameobject. So I removed it.
  • One said he fixed it by updating to the latest version of Xcode. I’m on the latest version to my knowledge. 5.0.2.

Final Update: Solved! Sadly, I was hoping I could do all my work on my PC and send the files over to the Mac via Dropbox for the Xcode side of things, but it appears that the Storekit plugin at the least will not build properly in Unity on the PC. I installed Unity on my Mac and reloaded the plugin and was able to build in Unity there, and then build in Xcode with no linker errors. Hopefully this helps someone else that might be in a similar situation.

I’m having a similar problem, but I’m already on a mac >.<

You are most likely missing some framework or code within the Xcode project, does the storekit have any kind of .framework files or objective-c files attached to it(or even better, referenced in some kind of manual)?