Unreal iOS
完成使用 Hive SDK Unreal iOS 开发应用后,您需要在构建应用时配置以下项目。
- 在虚幻编辑器菜单中,点击编辑 > 项目设置。项目设置窗口将出现在屏幕上。
- 在项目设置窗口中,在左侧面板的平台标题下选择iOS菜单。iOS设置屏幕将出现。根据每个组的指导设置项目。
按组设置¶
以下是按组设置的说明。
-
捆绑信息组:在捆绑标识符字段中输入您游戏的 AppID。
-
操作系统信息组:从 Unreal Engine 4.25 开始,支持的操作系统版本已更改为 11.0 或更高。将 Minimum OSVersion 字段值设置为 11.0。
-
构建组:在附加非运输链接器标志字段和附加运输链接器标志字段中输入 -ObjC。
额外的 Plist 数据组设置¶
根据下面列出的设置项,在附加 PList 数据字段中输入代码行。以下所有代码必须在一行中输入。
访问权限请求设置¶
要设置访问权限请求,请将以下代码添加到附加 PList 数据字段中。
<key>NSCameraUsageDescription</key>
<string>Approval required to take pictures.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Approval required to upload image files.</string>
<key>NSUserTrackingUsageDescription</key>
<string>We need your permission to use the Advertising Identifiers (IDFA) for promotion targeting and tracking analysis.</string>
认证:Facebook、QQ VK、微信、Line 设置¶
如果您使用 Facebook、QQ、VK、微信或 Line 认证,请将以下代码添加到附加 PList 数据字段中,以设置服务器白名单。
<key>LSApplicationQueriesSchemes</key>
<array>
<string>weixin</string>
<string>vk-share</string>
<string>vkauthorize</string>
<string>vk</string>
<string>weixinULAPI</string>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
<string>mqqOpensdkSSoLogin</string>
<string>mqqopensdkapiV2</string>
<string>lineauth2</string>
<string>mqqopensdkapiV3</string>
<string>wtloginmqq2</string>
<string>mqq</string>
<string>mqqapi</string>
</array>
在使用 Facebook 时,请使用以下代码添加 Facebook AppID 和 ClientToken。确保为您的游戏输入 Facebook AppID 和 ClientToken 值。
<key>FacebookAppID</key><string>926000000000000</string>
<key>FacebookClientToken</key><string>d123783h7sdfyh8031h23unf81h3</string>
为每个身份提供者设置 URL 方案。
<key>CFBundleURLTypes</key>
<array>
<!--For Facebook usage. Please insert your app's Facebook App ID value-->
<dict><key>CFBundleTypeRole</key><string>Editor</string><key>CFBundleURLSchemes</key><array><string>fb926000000000000</string></array></dict>
<!--For using deep links on the Hive platform. Please insert your AppID value-->
<dict><key>CFBundleTypeRole</key><string>Editor</string><key>CFBundleURLSchemes</key><array><string>com.com2us.misample.normal.freefull.apple.global.ios.universal</string></array></dict>
<!--For Google Sign-in. Please insert the Google Sign-in key value of your app-->
<dict><key>CFBundleTypeRole</key><string>Editor</string><key>CFBundleURLSchemes</key><array><string>com.googleusercontent.apps.270000000000-0m7r8tb2co1q00000000000000000000</string></array></dict>
<!--For QQ Sign-in. Please insert the QQ key value of your app-->
<dict><key>CFBundleTypeRole</key><string>Editor</string><key>CFBundleURLName</key><string>tencent</string>
<key>CFBundleURLSchemes</key><array><string>tencent1106227203</string></array></dict>
<!--For Wechat Sign-in. Please insert the Wechat key value of your app-->
<dict><key>CFBundleTypeRole</key><string>Editor</string><key>CFBundleURLName</key><string>weixin</string><key>CFBundleURLSchemes</key><array><string>wx78176cf0c698c0f9</string></array></dict>
<!--For VK Sign-in. Please insert the VK key value of your app-->
<dict><key>CFBundleTypeRole</key><string>Editor</string><key>CFBundleURLName</key><string>vk6270065</string><key>CFBundleURLSchemes</key><array><string>vk6270065</string></array></dict>
<!--For Line Sign-in-->
<dict><key>CFBundleTypeRole</key><string>Editor</string>
<key>CFBundleURLSchemes</key><array><string>line3rdp.$(PRODUCT_BUNDLE_IDENTIFIER)</string></array></dict>
</array>
以下是上述值插入到附加 PList 数据字段的示例。
<key>NSCameraUsageDescription</key>
<string>Approval required to take pictures.</string>
<key>NSContactsUsageDescription</key>
<string>You must agree to add friends from your Contacts.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Approval required to upload image files.</string>
<key>NSUserTrackingUsageDescription</key>
<string>We need your permission to use the Advertising Identifiers (IDFA) for promotion targeting and tracking analysis.</string>
<key>FacebookAppID</key>
<string>1809615065921877</string>
<key>FacebookClientToken</key>
<string>c41e47ba5512ea3fb5bfb29d5cfeb244</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>line3rdp.$(PRODUCT_BUNDLE_IDENTIFIER)</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>fb926000000000000</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>com.com2us.hivesdk.normal.freefull.apple.global.ios.universal</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>com.googleusercontent.apps.331526026701-s41n272jsv6c0f72kt5o7of0jns350gl</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>tencent</string>
<key>CFBundleURLSchemes</key>
<array>
<string>tencent1106227203</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>weixin</string>
<key>CFBundleURLSchemes</key>
<array>
<string>wx78176cf0c698c0f9</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>vk6270065</string>
<key>CFBundleURLSchemes</key>
<array>
<string>vk6270065</string>
</array>
</dict>
</array>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>weixin</string>
<string>vk-share</string>
<string>vkauthorize</string>
<string>vk</string>
<string>weixinULAPI</string>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
<string>mqqOpensdkSSoLogin</string>
<string>mqqopensdkapiV2</string>
<string>lineauth2</string>
<string>mqqopensdkapiV3</string>
<string>wtloginmqq2</string>
<string>mqq</string>
<string>mqqapi</string>
</array>
苹果登录设置¶
要支持 Apple SignIn,请将以下代码添加到项目文件夹 > 配置 > DefaultEngine.ini 文件中。
多语言设置¶
如需为应用提供多语言服务,请添加多语言设置文件。下载多语言设置文件并解压缩。localize文件夹中包含按语言区分的.lproj文件夹。
Note
App Store中显示的应用支持语言取决于应用中包含的.lproj文件夹。请仅添加应用实际支持的语言对应的.lproj文件夹。Base.lproj包含在设置为不支持语言的设备上显示的默认文本,因此必须包含。 App Store中显示的应用支持语言列表根据应用包中包含的.lproj文件夹判定。因此,请仅添加应用实际支持的语言对应的.lproj文件夹。
但是,必须包含Base.lproj,因为其中包含在设置为不支持语言的设备上显示的默认文本。
Unreal Engine每次构建都会重新创建Xcode项目,因此直接在Xcode中添加的多语言文件会在下次构建时丢失。请在应用模块的Build.cs文件中设置,将多语言文件夹注册为应用包资源。
- 将要使用的.lproj文件夹复制到应用模块文件夹下的localize文件夹中。(例如:Source/MyGame/localize/Base.lproj、Source/MyGame/localize/ko.lproj)
-
将以下代码添加到应用模块Build.cs文件(例如Source/MyGame/MyGame.Build.cs)的构造函数中。
if (Target.Platform == UnrealTargetPlatform.IOS) { string localizeDir = System.IO.Path.Combine(ModuleDirectory, "localize"); if (System.IO.Directory.Exists(localizeDir)) { foreach (string lprojDir in System.IO.Directory.GetDirectories(localizeDir, "*.lproj")) { AdditionalBundleResources.Add(new BundleResource(lprojDir)); } } } -
完成iOS构建后,确认生成的应用包(.app)顶层包含.lproj文件夹。
Note
应用多语言文件后,权限请求弹窗会显示与设备语言匹配的InfoPlist.strings文本。
直接在Unreal Engine项目设置的Additional PList Data中输入的文本,在未添加.lproj文件夹或没有对应语言集时,将作为默认值显示。



