I noticed that my app running in the simulator printed this line in the console:
RTCReporting: resolve from http://pancake.apple.com/bags/hls?version=4.12
Now, there is already a question which attempts to answer why this exception is occuring, but frankly I would rather now what pancake.apple.com is and why it is returning a plist? What is this plist used for, and moreover, what is pancake.apple.com, are there other instances where this endpoint gets called?
And here are the contents in all their base 64 decoded glory:
This is the "bag"
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>apple_internal</key>
<dict>
<key>dashboard</key>
<dict>
<key>display_url</key>
<string>https://hls.apple.com/dashboard/</string>
<key>ip</key>
<string>17.197.13.203</string>
<key>port</key>
<integer>16384</integer>
</dict>
<key>power</key>
<dict>
<key>foo</key>
<string>bar</string>
</dict>
<key>splunk</key>
<dict>
<key>clients</key>
<array>
<dict>
<key>client</key>
<string>AppleTV</string>
<key>device_whitelist</key>
<array>
<string>Apple TV</string>
</array>
<key>filters</key>
<array>
<dict>
<key>action</key>
<string>remove</string>
<key>key</key>
<string>URI</string>
</dict>
</array>
<key>locale_whitelist</key>
<array>
<string>US</string>
</array>
<key>override_dnu</key>
<integer>1</integer>
<key>post_url</key>
<string>https://xp.apple.com/report/2/img_atv_qos</string>
<key>sampling_threshold</key>
<real>1.0</real>
<key>service</key>
<string>netflix,vega,hulu</string>
</dict>
<dict>
<key>client</key>
<string>Netflix</string>
<key>device_whitelist</key>
<array>
<string>iPhone</string>
<string>iPad</string>
<string>iPod touch</string>
</array>
<key>filters</key>
<array>
<dict>
<key>action</key>
<string>remove</string>
<key>key</key>
<string>URI</string>
</dict>
</array>
<key>locale_whitelist</key>
<array>
<string>US</string>
</array>
<key>override_dnu</key>
<integer>1</integer>
<key>post_url</key>
<string>https://xp.apple.com/report/2/img_qos</string>
<key>sampling_threshold</key>
<real>1.0</real>
</dict>
<dict>
<key>filters</key>
<array>
<dict>
<key>action</key>
<string>remove</string>
<key>key</key>
<string>URI</string>
</dict>
</array>
<key>hierarchy</key>
<integer>1</integer>
<key>locale_whitelist</key>
<array>
<string>US</string>
</array>
<key>override_dnu</key>
<integer>1</integer>
<key>post_url</key>
<string>https://xp.apple.com/report/2/img_itr_qos</string>
<key>sampling_threshold</key>
<real>1.0</real>
<key>service</key>
<string>tilt</string>
</dict>
<dict>
<key>client</key>
<string>AppleTV</string>
<key>device_whitelist</key>
<array>
<string>Apple TV</string>
</array>
<key>filters</key>
<array>
<dict>
<key>action</key>
<string>remove</string>
<key>key</key>
<string>URI</string>
</dict>
</array>
<key>locale_whitelist</key>
<array>
<string>US</string>
</array>
<key>override_dnu</key>
<integer>1</integer>
<key>post_url</key>
<string>https://xp.apple.com/report/2/img_atv_qos</string>
<key>sampling_threshold</key>
<real>1.0</real>
<key>service</key>
<string>itunes.extras</string>
</dict>
<dict>
<key>client</key>
<string>YouTube</string>
<key>device_whitelist</key>
<array>
<string>iPhone</string>
<string>iPad</string>
<string>iPod touch</string>
</array>
<key>event_threshold</key>
<integer>50</integer>
<key>filters</key>
<array>
<dict>
<key>action</key>
<string>remove</string>
<key>key</key>
<string>URI</string>
</dict>
</array>
<key>locale_whitelist</key>
<array>
<string>US</string>
</array>
<key>override_dnu</key>
<integer>1</integer>
<key>post_url</key>
<string>https://xp.apple.com/report/2/img_qos</string>
<key>sampling_threshold</key>
<real>1.0</real>
</dict>
</array>
</dict>
</dict>
<key>development</key>
<dict>
<key>dashboard</key>
<dict>
<key>display_url</key>
<string>https://hls.apple.com/dashboard-dev/</string>
<key>ip</key>
<string>17.197.13.218</string>
<key>port</key>
<integer>16384</integer>
<key>reliable</key>
<integer>500</integer>
</dict>
<key>power</key>
<dict>
<key>foo</key>
<string>bar</string>
</dict>
<key>splunk</key>
<dict>
<key>clients</key>
<array>
<dict>
<key>client</key>
<string>AppleTV</string>
<key>device_whitelist</key>
<array>
<string>Apple TV</string>
</array>
<key>filters</key>
<array>
<dict>
<key>action</key>
<string>remove</string>
<key>key</key>
<string>URI</string>
</dict>
</array>
<key>locale_whitelist</key>
<array>
<string>US</string>
</array>
<key>post_url</key>
<string>https://xp.apple.com/report/2/img_atv_qos</string>
<key>sampling_threshold</key>
<real>0.9</real>
<key>service</key>
<string>netflix,vega,hulu</string>
</dict>
<dict>
<key>client</key>
<string>Netflix</string>
<key>device_whitelist</key>
<array>
<string>iPhone</string>
<string>iPad</string>
<string>iPod touch</string>
</array>
<key>filters</key>
<array>
<dict>
<key>action</key>
<string>remove</string>
<key>key</key>
<string>URI</string>
</dict>
</array>
<key>locale_whitelist</key>
<array>
<string>US</string>
</array>
<key>override_dnu</key>
<integer>1</integer>
<key>post_url</key>
<string>https://xp.apple.com/report/2/img_qos</string>
<key>sampling_threshold</key>
<real>1.0</real>
</dict>
<dict>
<key>filters</key>
<array>
<dict>
<key>action</key>
<string>sha256</string>
<key>key</key>
<string>URI</string>
<key>method</key>
<integer>1</integer>
<key>status</key>
<integer>0</integer>
</dict>
<dict>
<key>action</key>
<string>remove</string>
<key>key</key>
<string>URI</string>
</dict>
</array>
<key>hierarchy</key>
<integer>1</integer>
<key>locale_whitelist</key>
<array>
<string>US</string>
</array>
<key>override_dnu</key>
<integer>0</integer>
<key>post_url</key>
<string>https://xp.apple.com/report/2/img_itr_qos</string>
<key>sampling_threshold</key>
<real>1.0</real>
<key>service</key>
<string>tilt</string>
</dict>
<dict>
<key>client</key>
<string>AppleTV</string>
<key>device_whitelist</key>
<array>
<string>Apple TV</string>
</array>
<key>filters</key>
<array>
<dict>
<key>action</key>
<string>sha256</string>
<key>key</key>
<string>URI</string>
<key>method</key>
<integer>1</integer>
<key>status</key>
<integer>0</integer>
</dict>
<dict>
<key>action</key>
<string>remove</string>
<key>key</key>
<string>URI</string>
</dict>
</array>
<key>locale_whitelist</key>
<array>
<string>US</string>
</array>
<key>override_dnu</key>
<integer>1</integer>
<key>post_url</key>
<string>https://xp.apple.com/report/2/img_atv_qos</string>
<key>sampling_threshold</key>
<real>0.9</real>
</dict>
<dict>
<key>client</key>
<string>netflix</string>
<key>device_whitelist</key>
<array>
<string>iPhone</string>
<string>iPad</string>
<string>iPod touch</string>
</array>
<key>filters</key>
<array/>
<key>locale_whitelist</key>
<array>
<string>US</string>
</array>
<key>override_dnu</key>
<integer>1</integer>
<key>post_url</key>
<string>https://xp.apple.com/report/2/img_atv_qos</string>
<key>sampling_threshold</key>
<real>0.9</real>
</dict>
<dict>
<key>client</key>
<string>AppleTV</string>
<key>device_whitelist</key>
<array>
<string>Apple TV</string>
</array>
<key>filters</key>
<array>
<dict>
<key>action</key>
<string>remove</string>
<key>key</key>
<string>URI</string>
</dict>
</array>
<key>locale_whitelist</key>
<array>
<string>US</string>
</array>
<key>override_dnu</key>
<integer>1</integer>
<key>post_url</key>
<string>https://xp.apple.com/report/2/img_atv_qos</string>
<key>sampling_threshold</key>
<real>1.0</real>
<key>service</key>
<string>itunes.extras</string>
</dict>
<dict>
<key>client</key>
<string>iTunes</string>
<key>device_whitelist</key>
<array>
<string>Mac</string>
</array>
<key>filters</key>
<array>
<dict>
<key>action</key>
<string>remove</string>
<key>key</key>
<string>URI</string>
</dict>
</array>
<key>locale_whitelist</key>
<array>
<string>US</string>
</array>
<key>override_dnu</key>
<integer>1</integer>
<key>post_url</key>
<string>https://xp.apple.com/report/2/img_qos</string>
<key>sampling_threshold</key>
<real>1.0</real>
</dict>
</array>
</dict>
</dict>
<key>release</key>
<dict>
<key>splunk</key>
<dict>
<key>clients</key>
<array>
<dict>
<key>client</key>
<string>AppleTV</string>
<key>device_whitelist</key>
<array>
<string>Apple TV</string>
</array>
<key>filters</key>
<array>
<dict>
<key>action</key>
<string>remove</string>
<key>key</key>
<string>URI</string>
</dict>
</array>
<key>locale_whitelist</key>
<array>
<string>US</string>
</array>
<key>override_dnu</key>
<integer>0</integer>
<key>post_url</key>
<string>https://xp.apple.com/report/2/img_atv_qos</string>
<key>sampling_threshold</key>
<real>1.0</real>
<key>service</key>
<string>netflix,vega,hulu</string>
</dict>
<dict>
<key>client</key>
<string>Netflix</string>
<key>device_whitelist</key>
<array>
<string>iPhone</string>
<string>iPad</string>
<string>iPod touch</string>
</array>
<key>filters</key>
<array>
<dict>
<key>action</key>
<string>remove</string>
<key>key</key>
<string>URI</string>
</dict>
</array>
<key>locale_whitelist</key>
<array>
<string>US</string>
</array>
<key>override_dnu</key>
<integer>0</integer>
<key>post_url</key>
<string>https://xp.apple.com/report/2/img_qos</string>
<key>sampling_threshold</key>
<real>1.0</real>
</dict>
<dict>
<key>filters</key>
<array>
<dict>
<key>action</key>
<string>remove</string>
<key>key</key>
<string>URI</string>
</dict>
</array>
<key>hierarchy</key>
<integer>1</integer>
<key>locale_whitelist</key>
<array>
<string>US</string>
</array>
<key>override_dnu</key>
<integer>1</integer>
<key>post_url</key>
<string>https://xp.apple.com/report/2/img_itr_qos</string>
<key>sampling_threshold</key>
<real>1.0</real>
<key>service</key>
<string>tilt</string>
</dict>
<dict>
<key>client</key>
<string>AppleTV</string>
<key>device_whitelist</key>
<array>
<string>Apple TV</string>
</array>
<key>filters</key>
<array>
<dict>
<key>action</key>
<string>remove</string>
<key>key</key>
<string>URI</string>
</dict>
</array>
<key>locale_whitelist</key>
<array>
<string>US</string>
</array>
<key>override_dnu</key>
<integer>1</integer>
<key>post_url</key>
<string>https://xp.apple.com/report/2/img_atv_qos</string>
<key>sampling_threshold</key>
<real>1.0</real>
<key>service</key>
<string>itunes.extras</string>
</dict>
<dict>
<key>client</key>
<string>YouTube</string>
<key>device_whitelist</key>
<array>
<string>iPhone</string>
<string>iPad</string>
<string>iPod touch</string>
</array>
<key>event_threshold</key>
<integer>50</integer>
<key>filters</key>
<array>
<dict>
<key>action</key>
<string>remove</string>
<key>key</key>
<string>URI</string>
</dict>
</array>
<key>locale_whitelist</key>
<array>
<string>US</string>
</array>
<key>override_dnu</key>
<integer>0</integer>
<key>post_url</key>
<string>https://xp.apple.com/report/2/img_qos</string>
<key>sampling_threshold</key>
<real>0.25</real>
</dict>
</array>
</dict>
</dict>
<key>version</key>
<string>1.0.0-41-g98d9515</string>
</dict>
</plist>
And the "key" is a binary file.
Looking at the data received from pancake.apple.com (it's a base64 encoded plist), it LOOKS like it's just returning a verification to validate whether or not a device is authorized for home sharing.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With