{"id":3832,"date":"2016-04-20T16:33:36","date_gmt":"2016-04-20T08:33:36","guid":{"rendered":"http:\/\/blog.qdac.cc\/?p=3832"},"modified":"2016-04-20T16:33:36","modified_gmt":"2016-04-20T08:33:36","slug":"%e8%af%91%e6%95%99%e7%a8%8b%ef%bc%9a%e4%bb%8e-rad-studio-%e4%b8%ad%e8%87%aa%e5%ae%9a%e4%b9%89%e4%bd%a0%e7%9a%84-info-plist-%e6%96%87%e4%bb%b6","status":"publish","type":"post","link":"https:\/\/blog.qdac.cc\/?p=3832","title":{"rendered":"[\u8bd1]\u6559\u7a0b\uff1a\u4ece RAD Studio \u4e2d\u81ea\u5b9a\u4e49\u4f60\u7684 info.plist \u6587\u4ef6"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>RAD Studio writes some options of your applications for OS X or iOS to a file, *.info.plist, which is included in your final application package when you deploy your application to OS X or iOS. This file defines things such as the version code or display name of your application, the list of capabilities that your application requires, and so on.<\/p>\n<p><span style=\"color: #000080;\">RAD Studio \u00a0\u4e3a\u4f60\u7684 OSX \u6216 iOX \u9009\u9879\u5230\u4e00\u4e2a\u6587\u4ef6\uff1a*.info.plist\uff0c\u5728\u4f60\u53d1\u5e03\u4f60\u7684\u5e94\u7528\u5230 OS X \u6216 iOS\u65f6\uff0c\u5b83\u5305\u542b\u5728\u4f60\u7684\u6700\u7ec8\u5e94\u7528\u5305\u4e2d\u3002\u8fd9\u4e2a\u6587\u4ef6\u5b9a\u4e49\u4e86\u4e00\u4e9b\u7c7b\u4f3c\u4e8e\u4f60\u5e94\u7528\u7684\u7248\u672c\u4ee3\u53f7\u3001\u663e\u793a\u540d\u79f0\u3001\u517c\u5bb9\u6027\u7b49\u7b49\u4fe1\u606f\u3002<\/span><\/p>\n<p>Usually, you do not need to touch this file, and you can let RAD Studio take care of everything for you. However, RAD Studio allows you to customize the content of the *.info.plist file if you need to include custom data in this file that you cannot define visually in your project options.<\/p>\n<p><span style=\"color: #000080;\">\u901a\u5e38\uff0c\u4f60\u4e0d\u9700\u8981\u89e6\u78b0\u8fd9\u4e2a\u6587\u4ef6\uff0c\u4f60\u53ef\u4ee5\u8ba9 RAD Studio \u6765\u4e3a\u4f60\u5173\u6ce8\u8fd9\u4e00\u5207\u3002\u7136\u800c\uff0c\u5728\u4f60\u9700\u8981\u5728\u8fd9\u4e2a\u6587\u4ef6\u4e2d\u5305\u542b\u4e0d\u80fd\u5728 \u5de5\u7a0b\u9009\u9879\u4e2d\u53ef\u89c6\u5316\u5b9a\u4e49\u7684\u81ea\u5b9a\u4e49\u7684\u6570\u636e\u65f6\uff0cRAD Studio \u5141\u8bb8\u4f60\u81ea\u5b9a\u4e49 *.info.plist \u6587\u4ef6\u91cc\u7684\u5185\u5bb9\u3002<\/span><\/p>\n<p>When you deploy an application to the OS X or iOS target platforms for the first time, RAD Studio adds a file to your project folder: info.plist.TemplateOSX.xml or info.plist.TemplateiOS.xml. Whenever you deploy your application to OS X or iOS, RAD Studio reads the corresponding file, replaces some placeholders in the file with actual values from your project options, and writes the resulting content into an output file: &lt;platform&gt;\\&lt;build configuration&gt;\\*.info.plist. This output file is the *.info.plist file that is included in the application package that RAD Studio generates when you deploy your application to the OS X or iOS target platforms.<\/p>\n<p><span style=\"color: #000080;\">\u5f53\u4f60\u7b2c\u4e00\u6b21\u53d1\u5e03\u4e00\u4e2a\u5e94\u7528\u5230 OS X \u6216 iOS \u76ee\u6807\u5e73\u53f0\uff0cRAD Studio \u5728\u4f60\u7684\u5de5\u7a0b\u76ee\u5f55\u4e0b\u6dfb\u52a0\u4e00\u4e2a\u6587\u4ef6\uff1ainfo.plist.TemplateOSX.xml \u6216 info.plist.TemplateiOS.xml\u3002\u6bcf\u5f53\u4f60\u53d1\u5e03\u4f60\u7684\u5e94\u7528\u5230 OS X \u6216 iOS\uff0cRAD Studio \u8bfb\u53d6\u76f8\u5e94\u7684\u6587\u4ef6\uff0c\u66ff\u6362\u6587\u4ef6\u4e2d\u7684\u5360\u4f4d\u7b26\u4e3a\u4f60\u5de5\u7a0b\u9009\u9879\u7684\u771f\u6b63\u503c\uff0c\u7136\u540e\u5199\u5165\u7ed3\u679c\u5185\u5bb9\u5230\u4e00\u4e2a\u8f93\u51fa\u6587\u4ef6&lt;platform&gt;\\&lt;build configuration&gt;\\*.info.plist\u3002\u5f53\u4f60\u53d1\u5e03\u4f60\u7684\u5e94\u7528\u5230 OS X \u6216 iOS \u76ee\u6807\u5e73\u53f0\u65f6\uff0c \u8fd9\u4e2a\u8f93\u51fa\u6587\u4ef6\u5305\u542b\u4e86\u5728\u4e86\u751f\u6210\u7684\u5e94\u7528\u5305\u4e2d\u3002<\/span><\/p>\n<p>To customize the output *.info.plist file of a single project, edit the content of info.plist.TemplateOSX.xml or info.plist.TemplateiOS.xml in the project folder.<\/p>\n<p><span style=\"color: #000080;\">\u8981\u81ea\u5b9a\u4e49\u5355\u4e2a\u5de5\u7a0b\u8f93\u51fa\u7684 *.info.plist\uff0c\u7f16\u8f91\u5de5\u7a0b\u76ee\u5f55\u4e0b\u7684\u00a0info.plist.TemplateOSX.xml or info.plist.TemplateiOS.xml\u3002<\/span><\/p>\n<p>The template files that RAD Studio adds to a project when you deploy that project to the OS X or iOS target platforms for the first time comes from the corresponding file in C:\\Users\\&lt;username&gt;\\AppData\\Roaming\\Embarcadero\\BDS\\18.0. If you want your new projects to have a different starting template file, edit this file.<\/p>\n<p><span style=\"color: #000080;\">RAD Studio \u5728\u4f60\u7b2c\u4e00\u6b21\u53d1\u5e03\u5de5\u7a0b\u5230 OS X \u6216 iOS \u76ee\u6807\u5e73\u53f0\u65f6\uff0c\u4ece\u00a0 C:\\Users\\&lt;username&gt;\\AppData\\Roaming\\Embarcadero\\BDS\\18.0 \u6dfb\u52a0\u76f8\u5e94\u7684\u6a21\u677f\u6587\u4ef6\u3002\u5982\u679c\u4f60\u60f3\u8981\u65b0\u5de5\u7a0b\u4f7f\u7528\u4e00\u4e2a\u4e0d\u540c\u7684\u6a21\u677f\u6587\u4ef6\uff0c\u7f16\u8f91\u8fd9\u4e2a\u6587\u4ef6\u3002<\/span><\/p>\n<p>Re-creating the info.plist Template Files<\/p>\n<p><span style=\"color: #000080;\">\u91cd\u5efa info.plist \u6a21\u677f\u6587\u4ef6<\/span><\/p>\n<p>The info.plist template file that RAD Studio generates can change from one version of RAD Studio to another. To deploy a project that was originally deployed with a different version of RAD Studio, be especially careful with the existing info.plist template files from your project folder.<\/p>\n<p><span style=\"color: #000080;\">RAD Studio \u751f\u6210\u7684 info.plist \u6a21\u677f\u6587\u4ef6\u53ef\u4ee5\u4ece\u4e00\u4e2a\u7248\u672c\u7684 RAD Studio \u53d8\u66f4\u5230\u53e6\u4e00\u4e2a\u3002\u8981\u53d1\u5e03\u4e00\u4e2a\u4f7f\u7528\u4e0d\u540c\u7248\u672c\u7684 RAD Studio \u7684\u5de5\u7a0b\uff0c\u8981\u7279\u522b\u6ce8\u610f\u4f60\u5de5\u7a0b\u6587\u4ef6\u5939\u4e0b\u5df2\u6709\u7684 info.plist\u3002<\/span><\/p>\n<p>There are two possible scenarios:<\/p>\n<p><span style=\"color: #000080;\">\u6709\u4e24\u79cd\u53ef\u80fd\u7684\u60c5\u51b5\uff1a<\/span><\/p>\n<ul>\n<li>You want to keep the old info.plist template files because they are customized.<br \/>\n<span style=\"color: #000080;\">\u56e0\u4e3a\u5b83\u88ab\u81ea\u5b9a\u4e49\u8fc7\uff0c\u6240\u4ee5\u4f60\u60f3\u8981\u4fdd\u7559\u65e7\u7684 info.plsit \u6a21\u677f\u6587\u4ef6\u3002<\/span><\/li>\n<li>You do not need to keep the old info.plist template files.<br \/>\n<span style=\"color: #000080;\">\u4f60\u4e0d\u9700\u8981\u4fdd\u7559\u65e7\u7684 info.plist \u6a21\u677f\u6587\u4ef6\u3002<\/span><\/li>\n<\/ul>\n<p><strong>Keeping the info.plist Template Files<\/strong><\/p>\n<p><strong><span style=\"color: #000080;\">\u4fdd\u7559 info.plist \u6a21\u677f\u6587\u4ef6<\/span><\/strong><\/p>\n<p>You might want to keep your info.plist template files if you manually did modifications to them. In this case, you need to follow these steps:<\/p>\n<p><span style=\"color: #000080;\">\u5982\u679c\u4f60\u624b\u52a8\u4fee\u6539\u4e86\u5b83\u4eec\uff0c\u4f60\u53ef\u80fd\u60f3\u4fdd\u7559\u4f60\u7684 info.plist \u6a21\u677f\u6587\u4ef6\u3002\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u4f60\u9700\u8981\u6309\u4e0b\u8ff0\u6b65\u9aa4\u6765\uff1a<\/span><\/p>\n<ul>\n<li>Open your project folder.<br \/>\n<span style=\"color: #000080;\">\u6253\u5f00\u4f60\u7684\u5de5\u7a0b\u76ee\u5f55\u3002<\/span><\/li>\n<li>Be sure to back up your info.plist template files.<br \/>\n<span style=\"color: #000080;\">\u786e\u8ba4\u5907\u4efd\u4f60\u7684 info.plist \u6a21\u677f\u6587\u4ef6\u3002<\/span><\/li>\n<li>Delete the info.plist template files from the project folder.<br \/>\n<span style=\"color: #000080;\">\u4ece\u5de5\u7a0b\u76ee\u5f55\u4e2d\u5220\u9664 info.plist <\/span><\/li>\n<li>Open your project with the new version of RAD Studio.<br \/>\n<span style=\"color: #000080;\">\u7528\u65b0\u7248\u672c RAD Studio \u6253\u5f00\u4f60\u7684\u5de5\u7a0b<\/span><\/li>\n<li>For each affected target platform (OS X, iOS Device &#8211; 32 bit, iOS Device &#8211; 64 bit and iOS Simulator):<br \/>\n<span style=\"color: #000080;\">\u5bf9\u4e8e\u6bcf\u4e2a\u53d7\u5f71\u54cd\u7684\u76ee\u6807\u5e73\u53f0\uff08OS X\u3001iOS Device &#8211; 32 bit\u3001iOS Device &#8211; 64 bit \u548c iOS Simulator\uff09:<\/span><\/p>\n<ul>\n<li>Select the target platform node on the Project Manager.<br \/>\n<span style=\"color: #000080;\">\u5728\u5de5\u7a0b\u7ba1\u7406\u5668\u4e2d\u9009\u62e9\u76ee\u6807\u5e73\u53f0\u7ed3\u70b9\u3002<\/span><\/li>\n<li>Deploy your project to the selected target platform.<br \/>\n<span style=\"color: #000080;\">\u53d1\u5e03\u4f60\u7684\u5de5\u7a0b\u5230\u9009\u4e2d\u7684\u76ee\u6807\u5e73\u53f0\u3002<\/span><br \/>\nNote: Deploying your project creates a new info.plist template file for the selected target platform.<br \/>\n<span style=\"color: #000080;\">\u5907\u6ce8\uff1a\u53d1\u5e03\u4f60\u7684\u5de5\u7a0b\u4f1a\u4e3a\u9009\u4e2d\u7684\u76ee\u6807\u5e73\u53f0\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 info.plist \u6a21\u677f\u6587\u4ef6\u3002<\/span><\/li>\n<li>Go to your project folder to check that there is a new info.plist template file.<br \/>\n<span style=\"color: #000080;\">\u5230\u4f60\u7684\u5de5\u7a0b\u76ee\u5f55\u4e0b\uff0c\u68c0\u67e5\u4e0d\u5426\u5b58\u5728\u4e00\u4e2a\u65b0\u7684 info.plist \u6a21\u677f\u6587\u4ef6\u3002 <\/span><\/li>\n<li>Manually add your changes to the new info.plist template file.<br \/>\n<span style=\"color: #000080;\">\u624b\u52a8\u6dfb\u52a0\u4f60\u7684\u53d8\u66f4\u4fe1\u606f\u5230\u65b0\u7684 info.plist \u6a21\u677f\u6587\u4ef6\u3002<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>Creating a New info.plist Template Files<\/strong><\/p>\n<p><strong><span style=\"color: #000080;\">\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 info.plist \u6a21\u677f\u6587\u4ef6<\/span><\/strong><\/p>\n<p>If you did not modify the info.plist template files, follow these steps to let RAD Studio create new files:<\/p>\n<p><span style=\"color: #000080;\">\u5982\u679c\u4f60\u6ca1\u6709\u4fee\u6539\u8fc7 info.plist \u6a21\u677f\u6587\u4ef6\uff0c\u4e0b\u9762\u7684\u6b65\u9aa4\u8ba9 RAD Studio \u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6587\u4ef6\uff1a<\/span><\/p>\n<ul>\n<li>Open your project folder.<br \/>\n<span style=\"color: #000080;\">\u6253\u5f00\u4f60\u7684\u5de5\u7a0b\u76ee\u5f55\u3002<\/span><\/li>\n<li>Delete the info.plist template files from the project folder.<br \/>\n<span style=\"color: #000080;\">\u4ece\u5de5\u7a0b\u76ee\u5f55\u4e2d\u5220\u9664 info.plist<\/span><\/li>\n<li>Open your project with the new version of RAD Studio.<br \/>\n<span style=\"color: #000080;\">\u7528\u65b0\u7248\u672c RAD Studio \u6253\u5f00\u4f60\u7684\u5de5\u7a0b<\/span><\/li>\n<li>For each affected target platform (OS X, iOS Device &#8211; 32 bit, iOS Device &#8211; 64 bit and iOS Simulator):<br \/>\n<span style=\"color: #000080;\">\u5bf9\u4e8e\u6bcf\u4e2a\u53d7\u5f71\u54cd\u7684\u76ee\u6807\u5e73\u53f0\uff08OS X\u3001iOS Device &#8211; 32 bit\u3001iOS Device &#8211; 64 bit \u548c iOS Simulator\uff09:<\/span><\/p>\n<ul>\n<li>Select the target platform node on the Project Manager.<br \/>\n<span style=\"color: #000080;\">\u5728\u5de5\u7a0b\u7ba1\u7406\u5668\u4e2d\u9009\u62e9\u76ee\u6807\u5e73\u53f0\u7ed3\u70b9\u3002<\/span><\/li>\n<li>Deploy your project to the selected target platform.<br \/>\n<span style=\"color: #000080;\">\u53d1\u5e03\u4f60\u7684\u5de5\u7a0b\u5230\u9009\u4e2d\u7684\u76ee\u6807\u5e73\u53f0\u3002<\/span><br \/>\nNote: Deploying your project creates a new info.plist template file for the selected target platform.<br \/>\n<span style=\"color: #000080;\">\u5907\u6ce8\uff1a\u53d1\u5e03\u4f60\u7684\u5de5\u7a0b\u4f1a\u4e3a\u9009\u4e2d\u7684\u76ee\u6807\u5e73\u53f0\u521b\u5efa\u4e00\u4e2a\u65b0\u7684 info.plist \u6a21\u677f\u6587\u4ef6\u3002<\/span><\/li>\n<li>Go to your project folder to check that there is a new info.plist template file.<br \/>\n<span style=\"color: #000080;\">\u5230\u4f60\u7684\u5de5\u7a0b\u76ee\u5f55\u4e0b\uff0c\u68c0\u67e5\u4e0d\u5426\u5b58\u5728\u4e00\u4e2a\u65b0\u7684 info.plist \u6a21\u677f\u6587\u4ef6\u3002<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>Contents of the info.plist Template Files<\/strong><\/p>\n<p><strong><span style=\"color: #000080;\">info.plist \u6a21\u677f\u6587\u4ef6\u5185\u5bb9<\/span><\/strong><\/p>\n<p>The info.plist template files contain two placeholders that RAD Studio replaces by key-value pairs during the deploying applications overview. The following value indicates which info.plist keywords replace each placeholder:<\/p>\n<p><span style=\"color: #000080;\">info.plist \u6a21\u677f\u6587\u4ef6\u5305\u542b\u4e24\u4e2a RAD Studio \u5728\u53d1\u5e03\u5e94\u7528\u65f6\u901a\u8fc7\u952e\u503c\u6765\u66ff\u6362\u7684\u5360\u4f4d\u7b26\u3002\u4e0b\u9762\u7684\u503c\u6807\u8bb0\u4e86\u90a3\u4e9b\u8981\u88ab\u66ff\u6362\u7684 info.plist \u5360\u4f4d\u7b26\u5173\u952e\u8bcd\u3002<\/span><\/p>\n<ul>\n<li>&lt;%VersionInfoPListKeys%&gt;<br \/>\nKeywords defined on the Version Info page.<br \/>\n<span style=\"color: #000080;\">\u5728 Version Info \u9875\u5b9a\u4e49\u7684\u5173\u952e\u8bcd\u3002<\/span><\/li>\n<li>&lt;%ExtraInfoPListKeys%&gt;\n<ul>\n<li>Keywords about artwork, based on the information on the Application page.<br \/>\n<span style=\"color: #000080;\">artwork \u76f8\u5173\u7684\u5173\u952e\u8bcd\uff0c\u57fa\u4e8e Application \u9875\u4e0a\u7684\u4fe1\u606f\u3002<\/span><\/li>\n<li>For iOS:<br \/>\n<span style=\"color: #000080;\">\u5bf9\u4e8e iOS:<\/span><\/p>\n<ul>\n<li>Keywords about orientation support, based on the information on the Orientation page.<br \/>\n<span style=\"color: #000080;\">\u5173\u4e8e\u65b9\u5411\u652f\u6301\u7684\u5173\u952e\u8bcd\uff0c\u57fa\u4e8e Orientation \u9875\u7684\u4fe1\u606f\u3002<\/span><\/li>\n<li>Keywords for disabling the APS feature if the &#8220;Enable HTTP protocol requests&#8221; feature is disabled in the Entitlement List page.<br \/>\n<span style=\"color: #000080;\">\u5982\u679c&#8221;Enable HTTP protocol requests&#8221; \u529f\u80fd\u5728 Entitlement List \u9875\u88ab\u7981\u7528\uff0c\u7981\u6b62 APS \u529f\u80fd\u7684\u5173\u952e\u8bcd\u3002<\/span><\/li>\n<li>CFBundleShortVersionString, based on the value of the corresponding fields in the Version Info page.<br \/>\n<span style=\"color: #000080;\">CFBundleShortVersionString\uff0c\u57fa\u4e8e Version Info \u9875\u4e0a\u76f8\u5e94\u7684\u503c\u3002<\/span><\/li>\n<li>UIRequiredDeviceCapabilities is &#8220;arm64&#8221; for iOS Device &#8211; 64 bit or &#8220;armv7&#8221; for other platforms.<br \/>\n<span style=\"color: #000080;\">\u5bf9\u4e8e iOS Device &#8211; 64 bit \u00a0\uff0cUIRequiredDeviceCapabilities \u7684\u503c\u4e3a &#8220;arm64&#8243;\uff0c\u5426\u5219\u662f &#8220;armv7&#8243;\u3002<\/span><\/li>\n<li>For iOS device platforms:<br \/>\n<span style=\"color: #000080;\">\u5bf9\u4e8e iOS \u8bbe\u5907\u5e73\u53f0\uff1a<\/span><\/p>\n<ul>\n<li>CFBundleSupportedPlatforms is &#8220;iPhoneOS&#8221;.<br \/>\n<span style=\"color: #000080;\">CFBundleSupportedPlatforms \u662f &#8220;iPhoneOS&#8221;\u3002<\/span><\/li>\n<li>CFBundleResourceSpecification is &#8220;ResourceRules.plist&#8221; (RAD Studio generates this file).<br \/>\nCFBundleResourceSpecification \u662f &#8220;ResourceRules.plist&#8221; \uff08RAD Studio \u751f\u6210\u6b64\u6587\u4ef6\uff09\u3002<\/li>\n<li>MinimumOSVersion is the value configured for the &#8220;Minimum iOS version supported&#8221; option in the following options page:<br \/>\nMinimumOSVersion \u662f\u5728\u4e0b\u9762\u7684\u9009\u9879\u9875\u4e2d\u914d\u7f6e\u7684\u00a0&#8220;Minimum iOS version supported&#8221; \u503c\uff1a<\/p>\n<ul>\n<li>Delphi: Project &gt; Options &gt; Delphi Compiler &gt; Linking<\/li>\n<li>C++: Project &gt; Options &gt; C++ Linker<\/li>\n<\/ul>\n<\/li>\n<li>For the Application Store platform configuration:<br \/>\n<span style=\"color: #000080;\">\u5bf9\u4e8e\u5e94\u7528\u5546\u5e97\u5e73\u53f0\u914d\u7f6e\uff1a<\/span><\/p>\n<ul>\n<li>DTPlatformName is &#8220;iphoneos&#8221;.<br \/>\n<span style=\"color: #000080;\">DTPlatformName \u4e3a&#8221;iphoneos&#8221;\u3002<\/span><\/li>\n<li>The values for DTPlatformBuild and DTXcodeBuild depend on the SDK that you use to build your application.<br \/>\n<span style=\"color: #000080;\">DTPlatformBuild \u548c DTXcodeBuild \u7684\u503c\uff0c\u53d6\u51b3\u4e8e\u4f60\u6784\u5efa\u5e94\u7528\u7684 SDK\u3002<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; RAD Studio wr [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[69,8,602,603],"tags":[604,605],"class_list":["post-3832","post","type-post","status-publish","format-standard","hentry","category-c-builder","category-delphi","category-ios","category-603","tag-info-plist","tag-605"],"views":3266,"_links":{"self":[{"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/posts\/3832","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3832"}],"version-history":[{"count":1,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/posts\/3832\/revisions"}],"predecessor-version":[{"id":3833,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/posts\/3832\/revisions\/3833"}],"wp:attachment":[{"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3832"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3832"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3832"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}