Wallet & Apple Pay Preference Missing

I just purchased a new 2018 15 inch MacBook Pro and migrated my old info from a Time Machine Backup. All is well except the Wallet & Apple Pay Preference icon is missing in the System Preferences. This icon does show up when I switch users to Guest or create a new User. Guessing my Preferences plist from the TMB that I migrated is causing this Wallet & Apple Pay icon to be missing. I have reached out to Apple for help and they are looking into it. Anyone else have this issue?

Posted on Jul 21, 2018 2:06 PM

Reply
Question marked as Top-ranking reply

Posted on Aug 25, 2018 8:52 AM

For ease of reading the problem can be identified by opening the Terminal app and pasting in the following command:


Code:

defaults read .GlobalPreferences PKSecureElementAvailableFlags

If Terminal responds with:


Code:

1

rather than the correct value of:

Code:

3

Then the fault is with this flag value and the following command should be pasted into Terminal:


Code:

defaults write .GlobalPreferences PKSecureElementAvailableFlags -int 3

You can check this value again by repeating:


Code:

defaults read .GlobalPreferences PKSecureElementAvailableFlags

The Wallet appeared in the System Preferences pane immediately after this command but it took me a restart to get it to accept a new card (a log out/in may have also worked).


Full credit to Einkoro, mjrit and a few others.

Similar questions

78 replies
Question marked as Top-ranking reply

Aug 25, 2018 8:52 AM in response to DAC30

For ease of reading the problem can be identified by opening the Terminal app and pasting in the following command:


Code:

defaults read .GlobalPreferences PKSecureElementAvailableFlags

If Terminal responds with:


Code:

1

rather than the correct value of:

Code:

3

Then the fault is with this flag value and the following command should be pasted into Terminal:


Code:

defaults write .GlobalPreferences PKSecureElementAvailableFlags -int 3

You can check this value again by repeating:


Code:

defaults read .GlobalPreferences PKSecureElementAvailableFlags

The Wallet appeared in the System Preferences pane immediately after this command but it took me a restart to get it to accept a new card (a log out/in may have also worked).


Full credit to Einkoro, mjrit and a few others.

Aug 7, 2018 1:06 PM in response to mjrit

This is the last thing I did - and it worked. Not sure if any of the previous 5-6 hours of deleting caches and .plists had anything to do with it, but somebody give this a try:


  • Created new user and verified that the Wallet icon was in System Preferences
  • Went to ~/Library/Preferences/ByHost/ in Finder
  • Copied "com.apple.systempreferences.some-random-UUID.plist" off to a file share (or USB drive should work)
  • Logged back into the original user and copied the above file from the file share to the same location

(I think I had already deleted that file while messing around, but if it exists, overwrite it with the one you copied)

  • Changed permissions to match the other files in that directory
  • Reboot


Log back in and........ SET UP WALLET!!!


Hope this helps somebody - good luck!


-JC

Aug 12, 2018 10:47 PM in response to Einkoro

It's also a binary file so the easiest way to set it might be a terminal command


Open the terminal app and use this command and you should see "1" (the wrong value):

defaults read .GlobalPreferences PKSecureElementAvailableFlags


You can change that to 3 using:

defaults write .GlobalPreferences PKSecureElementAvailableFlags 3

Aug 2, 2018 4:40 AM in response to DAC30

The Apple Engineers are aware of this issue and in theory are working on a fix to be released in a future OS update, but I felt compelled to find a solution myself just in case it doesn't happen in the near future, or is never truly addressed.


My theory is that when migrating a user from an older Mac there are essential user files missing that would normally be made upon the creation of a new user account. (At least on these new 2018 MacBook Pro's) So, after hours of testing, I found a non-destructive solution. You don't have to start from scratch, and you don't need to manually migrate everything one-by-one to a new user. Here is my solution:


Step 1: Make sure you have a backup of anything important

Step 2: Create a "New" user account

Step 3: Once logged in, copy the "New" user library folder into iCloud Drive/an External Drive (File Path: ~/Library/)

Step 4: Right click the "New" user library folder, click "Get Info", change the permissions of the folder so that your "Main" user is the owner or at least has Read/Write access.

Step 5: Login to your "Main" user account and make a copy/backup of the "Main" user library folder (If you have "Hey Siri" enabled, there will be a folder called "VoiceTrigger" that you will not be able to move. Disable "Hey Siri" until you're done to get around this.


Now this is where it gets a little tedious, but it is much faster than starting from scratch:


Step 6: Move the contents of the "Main" user library folder to the trash (Content within certain folders inside the user library folder will need to be dragged to the trash individually as the system requires certain folders to always exist)

Step 7: Move the contents of the "New" user library folder into the "Main" user library folder (If it asks, check the "Apply to All" box and click "Replace")

Step 8: Reboot


Finally, the Wallet & Apple Pay preference pane should appear in System Preferences. However, at this point you'll notice that all Preferences and App Data are set back to factory settings (Good thing you made a copy/backup of your original user library folder in Step 5)


Step 9: Select the contents of your copy/backup "Main" user library folder (this has all of your Preferences and App Data)

Step 10: Copy/Paste them into your current "Main" user library folder (File Path: ~/Library/)

Step 11: If it asks, check the "Apply to All" box and click "Replace" (Like in Step 6 you will have to move certain content from folders over individually)

Step 12: Reboot


At last, all your Preferences and App Data are back and you finally have access to Wallet & Apple Pay like you always should have!

This worked for me, so I hope it helps!


Best of luck to you all!

-Andy

Aug 2, 2018 8:09 PM in response to sleifer

I think it might be a permissions problem, the walletAvailabilityCheckTool is in the Wallet.prefPane, if I run this:


/System/Library/PreferencePanes/Wallet.prefPane/Contents/Resources/walletAvailab ilityCheckTool ; echo $?


it fails, returning 1 when I run as my migrated user, but works (returns 0) if I run it

  • with sudo
  • with sudo -u _applepay
  • or from a new user that correctly displays the wallet preferences

Aug 8, 2018 4:38 PM in response to snog_1999

Right, the OS is related to System files. The issue is related to User files and/or permissions (specifically ones in the ~/Library folder). As evidenced by the fact that you can create a New User Account or log into the Guest Account and see the Wallet & Apple Pay preference pane appear and function, but not on the Migrated User Account.


To be clear, this issue can be solved by creating a new user and transplanting the new user ~/Library files into the migrated user's ~/Library folder. However this is a bit of a hassle, and is sort of like killing an ant with a nuke.

Apple should provide a more practical and elegant solution for the average user.


I completely agree with your point about letting the issue be known. The more people that report this issue, the more likely Apple will see this as a priority and fix it.

Aug 12, 2018 7:46 PM in response to DAC30

I figured out the plist and the value within responsible for the issue after migrating an account from a non touchbar equipped Mac to one with it through a painful process of eliminate and diffing many preferences. Open ~/Library/Preferences/.GlobalPreferences.plist and change PKSecureElementAvailableFlags from a 1 to a 3. Save, logout, log back in and you should be able to access the Wallet & ApplePay preference pane.

Jul 31, 2018 5:36 AM in response to sleifer

Same thing for me. Selected Apple Pay to make the purchase and couldn't get it to work. Ended up having to use PayPal.


I gave in and am now doing a complete fresh install with no Migration. It's going to take a couple of days to set everything up, but hopefully it will be worth it. First thing I noticed is that Apple Pay is there and working when you don't do the Migration.


I figured since this is the best MacBook Pro I've owned and there was a lot of left over crude built up since 2009, it was time to start fresh and not burden the system with all the junk I've installed over the years.


Kenny

Aug 2, 2018 8:36 AM in response to DAC30

I notice crash logs for passd and walletAvailabilityCheckTool that contain the following. Looks like getting the wrong type of data from somewhere. I don't know where that is yet.


Crashed Thread: 0 Dispatch queue: com.apple.main-thread



Exception Type: EXC_CRASH (SIGABRT)

Exception Codes: 0x0000000000000000, 0x0000000000000000

Exception Note: EXC_CORPSE_NOTIFY



Application Specific Information:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSTaggedPointerString unsignedIntegerValue]: unrecognized selector sent to instance 0x3315'

terminating with uncaught exception of type NSException

abort() called



Application Specific Backtrace 1:

0 CoreFoundation 0x00007fff2a7bd2db __exceptionPreprocess + 171

1 libobjc.A.dylib 0x00007fff51a3cc76 objc_exception_throw + 48

2 CoreFoundation 0x00007fff2a855db4 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132

3 CoreFoundation 0x00007fff2a733820 ___forwarding___ + 1456

4 CoreFoundation 0x00007fff2a7331e8 _CF_forwarding_prep_0 + 120

5 PassKitCore 0x00007fff479115f9 PKSecureElementAvailableFlags + 58

6 PassKitCore 0x00007fff4781ac9a __PKSecureElementIsAvailable_block_invoke + 32

7 libdispatch.dylib 0x00007fff5261cdb8 _dispatch_client_callout + 8

8 libdispatch.dylib 0x00007fff5261cd6b dispatch_once_f + 41

9 PassKitCore 0x00007fff4781ac71 PKSecureElementIsAvailable + 41

10 walletAvailabilityCheckTool 0x000000010dbf7988 walletAvailabilityCheckTool + 2440

11 libdyld.dylib 0x00007fff52656015 start + 1

Aug 1, 2018 2:38 AM in response to DAC30

I've had the same problem, and starting today it's become worse - now Safari

  • hangs for a minute whenever I open preferences (especially the privacy tab)
  • hangs on web sites that use ApplePay (I assume it's checking if ApplePay is enabled).


I noticed in the log there's an error with nfrestore_service (see below). The first line is when I click on preferences, then exactly 1 minute later it seems to timeout and report the error (and the Safari preferences window opens)


Aug 1 16:48:42 nfrestore_service[2236]: DEPRECATED USE in libdispatch client: Setting timer interval to 0 requests a 1ns timer, did you mean FOREVER (a one-shot timer)?

Aug 1 16:49:42 com.apple.xpc.launchd[1] (com.apple.nfrestore_service[2236]): Service exited with abnormal code: 255


I tried installing macOS on a new volume and had exactly the same problems so whatever is preventing it working might be stored in the T2 chip's secure enclave...

Aug 12, 2018 10:09 AM in response to snog_1999

I do know that Migration Assistant is not supposed to overwrite anything in the new computer's system folder with old data so think the issue has to be related to a preference file that is brought over with the users information. You would think it would be easy for Apple to find that particular file. I have sent the engineers all the data they requested through my Apple Support contact. Again, please contact Apple. If you have successfully migrated an old user account and have the Wallet & ApplePay Preference pane in that users Preferences, let us know. Thanks

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Wallet & Apple Pay Preference Missing

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.