Alex Krzyżanowski Alex Krzyżanowski - 6 months ago 51
Swift Question

Use of unresolved identifier `FBSDKAppEventNamePurchased`

I'm trying to log some events in my iOS application using the Facebook Analytics SDK.

First, I logged an event and this works well:

FBSDKAppEvents.logEvent(FBSDKAppEventNameInitiatedCheckout, valueToSum: price, parameters: parameters)


Then I tried to log the next one:

FBSDKAppEvents.logEvent(FBSDKAppEventNamePurchased, valueToSum: price, parameters: parameters)


And Xcode says that there is no such identifier named
FBSDKAppEventNamePurchased
.

I dived into the Facebook documentation and recognized that it exists:

enter image description here

So, I really have not idea what hell is going on. Does anybody had the same issue?

Answer

Okay, finally I found the reason of the problem and it's solution.

The FBSDKAppEventNamePurchased event constant is a private constant of Facebook SDK, so we can't use it in our code directly.

We should use:

FBSDKAppEvents.logPurchase(price, currency: currencyCode, parameters: parameters)

instead of:

FBSDKAppEvents.logEvent(FBSDKAppEventNamePurchased, valueToSum: price, parameters: parameters).

I really don't know why Facebook still have the FBSDKAppEventNamePurchased on their documentation pages, but this way is the way to go.

Comments