项目配置
App Name
将应用名称 {APP_DISPLAY_NAME} 设置为与示例项目相同

Add certification, provision
添加证书和配置文件,使用 keys 文件夹中的私钥更新密钥链,私钥密码在 key.txt 文件中。双击 .p12 文件然后输入密码。通过双击 ios_distribution.cer 和 ios_development.cer 导入分发证书

通过双击 2 个文件 xxx.mobileprovision 导入配置文件,然后确保 Xcode 显示如下

Build Settings
添加到 Build Settings → Other Linker Flags:
$(inherited)-ObjC

{APP_DISPLAY_NAME} 是面向用户的应用名称。在您的构建配置中,将 Product Name 设置为仅 ASCII 字符串(例如,MangaBaChay、KiemKhachPhongLang)。

Info.plist
以 Source Code 方 式打开 Info.plist 并添加:
<key>CFBundleName</key>
<string>{APP_DISPLAY_NAME}</string>
<key>CFBundleDisplayName</key>
<string>{APP_DISPLAY_NAME}</string>
App Tracking Transparency (iOS 14+)
<key>NSUserTrackingUsageDescription</key>
<string>Cho phép theo dõi để nhận phần thưởng, ưu đãi và gợi ý trò chơi phù hợp dành riêng cho bạn.</string>
提高 ATT 授权率
NSUserTrackingUsageDescription 的文案会直接显示在 Apple 的原生权限弹窗中。清晰、以用户利益为导向的文案能显著提高用户允许追踪的比例,从而直接改善 Facebook、Google Ads 和 TikTok 等付费渠道的归因准确率。
SKAdNetwork / AdSupport
<key>NSAdvertisingAttributionReportEndpoint</key>
<string>https://adjust-skadnetwork.com</string>
<key>SKAdNetworkItems</key>
<array>
<!-- 最后更新:2026-02-27 | Facebook · TikTok · Google Ads · Unity Ads
每次 App Store 发布前,请在 Adjust 控制台 → SKAdNetwork 验证列表是否最新。 -->
<dict><key>SKAdNetworkIdentifier</key><string>22mmun2rn5.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>238da6jt44.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>24t9a8vw3c.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>24zw6aqk47.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>252b5q8x7y.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>275upjj5gd.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>294l99pt4k.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>2fnua5tdw4.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>2u9pt9hc89.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>32z4fx6l9h.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>3l6bd9hu43.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>3qcr597p9d.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>3qy4746246.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>3rd42ekr43.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>3sh42y64q3.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>424m5254lk.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>4468km3ulz.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>44jx6755aq.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>44n7hlldy6.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>47vhws6wlr.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>488r3q3dtq.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>4dzt52r2t5.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>4fzdc2evr5.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>4mn522wn87.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>4pfyvq9l8r.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>4w7y6s5ca2.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>523jb4fst2.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>52fl2v3hgk.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>54nzkqm89y.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>578prtvx9j.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>5a6flpkh64.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>5l3tpt7t6e.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>5lm9lj6jb7.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>5tjdwbrq8w.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>6964rsfnh4.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>6g9af3uyq4.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>6p4ks3rnbw.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>6v7lgmsu45.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>6xzpu9s2p8.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>737z793b9f.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>74b6s63p6l.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>79pbpufp6p.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>7fmhfwg9en.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>7rz58n8ntl.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>7ug5zh24hu.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>84993kbrcf.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>89z7zv988g.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>8c4e2ghe7u.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>8m87ys6875.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>8r8llnkz5a.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>8s468mfl3y.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>97r2b46745.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>9b89h5y424.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>9nlqeag3gk.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>9rd848q2bz.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>9t245vhmpl.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>9vvzujtq5s.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>9yg77x724h.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>a2p9lx4jpn.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>a7xqa6mtl2.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>a8cz6cu7e5.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>av6w8kgt66.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>b9bk5wbcq9.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>bvpn9ufa9b.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>bxvub5ada5.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>c3frkrj4fj.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>c6k4g5qg8m.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>cg4yq2srnc.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>cj5566h2ga.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>cp8zw746q7.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>cs644xg564.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>cstr6suwn9.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>dbu4b84rxf.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>dkc879ngq3.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>dzg6xy7pwj.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>e5fvkxwrpn.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>ecpz2srf59.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>eh6m2bh4zr.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>ejvt5qm6ak.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>f38h382jlk.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>f73kdq92p3.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>f7s53z58qe.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>feyaarzu9v.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>g28c52eehv.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>g2y4y55b64.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>g6gcrrvk4p.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>ggvn48r87g.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>glqzh8vgby.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>gta8lk7p23.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>gta9lk7p23.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>hb56zgv37p.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>hdw39hrw9y.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>hs6bdukanm.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>k674qkevps.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>kbd757ywx3.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>kbmxgpxpgc.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>klf5c3l5u5.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>krvm3zuq6h.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>lr83yxwka7.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>ludvb6z3bs.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>m297p6643m.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>m5mvw97r93.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>m8dbw4sv7c.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>mj797d8u6f.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>mlmmfzh3r3.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>mls7yz5dvl.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>mp6xlyr22a.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>mqn7fxpca7.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>mtkv5xtk9e.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>n38lu8286q.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>n66cz3y3bx.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>n6fk4nfna4.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>n9x2a789qt.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>nzq8sh4pbs.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>p78axxw29g.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>ppxm28t8ap.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>prcb7njmu6.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>pwa73g5rt2.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>pwdxu55a5a.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>qqp299437r.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>qu637u8glc.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>r45fhb6rf7.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>rvh3l7un93.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>rx5hdcabgc.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>s39g8k73mm.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>s69wq72ugq.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>su67r6k2v3.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>t38b2kh725.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>tl55sbb4fm.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>u679fj5vs4.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>uw77j35x4d.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>v4nxqhlyqp.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>v72qych5uu.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>v79kvwwj4g.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>v9wttpbfk9.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>vcra2ehyfk.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>vhf287vqwu.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>vutu7akeur.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>w9q455wk68.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>wg4vff78zm.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>wzmmz9fp6w.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>x44k69ngh6.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>x5l83yy675.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>x8jxxk4ff5.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>x8uqf25wch.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>xga6mpmplv.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>xy9t38ct57.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>y45688jllp.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>y5ghdn5j9k.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>yclnxrl5pm.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>ydx93a7ass.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>zmvfpc5aq8.skadnetwork</string></dict>
<dict><key>SKAdNetworkIdentifier</key><string>zq492l623r.skadnetwork</string></dict>
</array>
提示
此列表最后更新于 2026-02-27(Facebook · TikTok · Google Ads · Unity Ads)。各广告网络会定期更新标识符,每次 App Store 发布前请在 Adjust 控制台 → SKAdNetwork 重新验证。
App Transport Security (ATS)
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Non‑exempt encryption
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
Facebook & Google config
用示例项目中的值替换占位符:
<key>FacebookAdvertiserIDCollectionEnabled</key>
<true/>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb{COPY-FACEBOOK-ID}</string>
<string>{COPY-GOOGLE-REVERSED_CLIENT_ID}</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>{COPY-FACEBOOK-ID}</string>
<key>FacebookDisplayName</key>
<string>{COPY-FACEBOOK-NAME}</string>
<key>FacebookClientToken</key>
<string>{COPY-FACEBOOK-TOKEN}</string>
<key>GIDClientID</key>
<string>{COPY-GOOGLE-CLIENT_ID}</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fbapi20130214</string>
<string>fbapi20130410</string>
<string>fbapi20130702</string>
<string>fbapi20131010</string>
<string>fbapi20131219</string>
<string>fbapi20140410</string>
<string>fbapi20140116</string>
<string>fbapi20150313</string>
<string>fbapi20150629</string>
<string>fbapi20160328</string>
<string>fbauth</string>
<string>fb-messenger-share-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
Background modes
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
Capabilities & Entitlements
启用推送、使用 Apple 登录、关联域等。示例 entitlements:
<?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>aps-environment</key>
<string>development</string>
<key>com.apple.developer.applesignin</key>
<array>
<string>Default</string>
</array>
<key>com.apple.developer.associated-domains</key>
<array>
<string>webcredentials:vgplay.vn</string>
<string>authsrv:vgplay.vn</string>
<string>applinks:vgplay.vn</string>
</array>
<key>com.apple.developer.authentication-services.autofill-credential-provider</key>
<true/>
</dict>
</plist>

在 Project > Capabilities 中添加:
webcredentials:vgplay.vn
authsrv:vgplay.vn
applinks:vgplay.vn
