Hi Ziqiao, thanks for looking into this! I've verified using CKFetchSubscriptionsOperation.fetchAllSubscriptionsOperation() on both Development and Production (TestFlight) devices. All 5 subscriptions are present and correctly configured in both environments. The output is identical between both environments. Here are all 5 subscriptions as returned by CKFetchSubscriptionsOperation: fr-sub-v3 (FriendRequest) Predicate: receiverID == [userID] AND status == pending badge=true, sound=default, contentAvail=false locKey=FRIEND_REQUEST_BODY, locArgs=[senderUsername] category=FRIEND_REQUEST, desiredKeys=[senderID, senderUsername] rec-sub-v3 (MediaRecommendation) Predicate: receiverID == [userID] AND status == pending badge=true, sound=default, contentAvail=false locKey=RECOMMENDATION_BODY, locArgs=[senderUsername, mediaTitle] category=RECOMMENDATION, desiredKeys=[mediaTitle, mediaType, senderID, senderUsername] fs-a-sub-v3 (Friendship) Predicate: userAID == [userID] badge=true, sound=default, contentAvail=false locK