URLForUbiquityContainerIdentifier returning nil for valid, containerId, entitlements

I can't for the life of me get URLForUbiquityContainerIdentifier to work for my iCloud container on iOS. I have:

  • Added the iCloud container to the app & provisioning profile on developer portal.
  • Set the iCloud entitlements including containers in Xcode.
  • Verified the team ID and entitlements in the signed app bundle:
turin:pkdiagram patrick$ codesign -d --ent :- build/ios/Debug-iphoneos/Family\ Diagram.app
Executable=/Users/patrick/dev/pkdiagram/build/ios/Debug-iphoneos/Family Diagram.app/Family Diagram
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>application-identifier</key>
  <string>8KJB799CU7.com.vedanamedia.familydiagram</string>
  <key>aps-environment</key>
  <string>development</string>
  <key>com.apple.developer.icloud-container-identifiers</key>
  <array>
  <string>iCloud.com.vedanamedia.familydiagram</string>
  <string>iCloud.com.vedanamedia.Family-Diagram</string>
  <string>iCloud.com.vedanamedia.PKDiagram</string>
  <string>iCloud.com.vedanamedia.familydiagrammac</string>
  <string>iCloud.com.vedanamedia.familydiagram</string>
  </array>
  <key>com.apple.developer.icloud-services</key>
  <array>
  <string>CloudDocuments</string>
  </array>
  <key>com.apple.developer.team-identifier</key>
  <string>8KJB799CU7</string>
  <key>com.apple.developer.ubiquity-container-identifiers</key>
  <array>
  <string>iCloud.com.vedanamedia.familydiagram</string>
  <string>iCloud.com.vedanamedia.Family-Diagram</string>
  <string>iCloud.com.vedanamedia.PKDiagram</string>
  <string>iCloud.com.vedanamedia.familydiagrammac</string>
  <string>iCloud.com.vedanamedia.familydiagram</string>
  </array>
  <key>com.apple.developer.ubiquity-kvstore-identifier</key>
  <string>8KJB799CU7.com.vedanamedia.familydiagram</string>
  <key>get-task-allow</key>
  <true/>
</dict>
</plist>


Verified that iCloud is indeed enabled on the device:


if([NSFileManager defaultManager].ubiquityIdentityToken) {


Queried the doc path using teamID, containerID


NSString *teamID = @"8KJB799CU7";
NSString *bundleID = @"iCloud.com.vedanamedia.familydiagram";
NSString *containerID = [NSString stringWithFormat:@"%@.%@", teamID, bundleID];
NSURL *_iCloudRoot = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:containerID];


Nothing seems to work, _iCloudRoot is always nil. Is there anything else I can check? I've been on this for hours.

I have been having the same problem and haven't found a solution after many many tries in other posts.

Any solution to this yet?

URLForUbiquityContainerIdentifier returning nil for valid, containerId, entitlements
 
 
Q