Watch connectivity inside Apple Wallet Issuer Extension

I am developing issuer non-UI extension. In function status i have to return remotePassEntriesAvailable (boolean) and to do that i have to activate WCSession from that Extension to get the remoteSecureElementPasses which are already added to the remote wallet (watch).

I have implemented WCSessionDelegate inside the non-UI extension but i can not enable the WCSession. I always get:

Error: WCSession has not been activated

I saw a comment in this post -> WCSession is not available from iOS extensions, only from the main iOS app.

To the point... If the WCSession is not available from iOS extensions how can I properly set remoteSecureElementPasses and implement function remotePassEntries if i can't connect to the watch to see which cards are already enrolled?

  • I also noticed, when adding a card from that extension the function remotePassEntries is never called. I can confirm that iWatch is connected to the iPhone and the param remotePassEntriesAvailable is set to true when function status is called. In which case is the function remotePassEntries called?

  • I found the answer to this as remotePassEntries is called only when the user is trying to add the cards to the watch via "Watch" app

Add a Comment

Replies

Hi, facing the same issue, do you have any workaround?

  • Ok so... I tried to get the remoteSecureElementPasses without implementing WCSessionDelegate inside the non-UI extension and without activating the WCSession and I don't know how but it works...

    So everything I do to get remoteSecureElementPasses is: "let paymentPasses = passLibrary.remoteSecureElementPasses".

Add a Comment

I am getting assEntriesAvailable = false and remotePassEntriesAvailable = true in status(completion: @escaping (PKIssuerProvisioningExtensionStatus) api, though I am not getting app icon in Add to Wallet screen. I have gone through apple private document twice but nothing found there. Does any one has the solution.?

Add a Comment