gpt4 book ai didi

iOS自定义方向配置

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:30:28 25 4
gpt4 key购买 nike

我正在寻找一种方法来在 Cordova 中为我的 iOS 应用程序指定两个不同的方向。一组方向用于 iPad,另一组用于 iPhone。它们应如下所示:iPhone - 仅纵向(常规和倒置),iPad - 所有 4 个方向。

到目前为止,我使用的是config.xml

<preference name="orientation" value="all" />

它在 [APP_NAME]-Info.plist 文件中生成以下内容:

<key>UIInterfaceOrientation</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string> <!-- remove this -->
<string>UIInterfaceOrientationLandscapeRight</string> <!-- and remove this -->
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>

然后我只删除上面评论的行,以便在构建时提供我想要的内容。当然,我更喜欢发布前不需要关注的解决方案。

到目前为止,我已尝试深入研究 Cordova 文档,但唯一提到的类似内容是在 plugin.xml 条目的 config-file 部分中,但由于这不是特定于插件的配置,我看不出这是正确的(即这属于哪个 plugin.xml ?)

如果可能的话,我更愿意只通过配置来做到这一点。

编辑

根据@jcaron 的评论,我尝试将 config-file 元素直接添加到 config.xml 中,如下所示:

<platform name="ios">
<config-file target="*-Info.plist" parent="UISupportedInterfaceOrientations">
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
</config-file>
</platform>

还有

<config-file target="*-Info.plist" parent="UISupportedInterfaceOrientations">
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
</config-file>

这些都不起作用。我还尝试通过在上述两种情况下添加 APP_NAME/ios/APP_NAMEplatforms/ios/APP_NAME 来改变路径,但是没有成功。

最佳答案

您可以使用 cordova-custom-config插件以在 after_prepare Hook 上应用更改,这确保它们不会被 Cordova 默认值覆盖(如 @jcesarmobile 在上面的评论中指出的那样)。

将插件添加到您的项目中:

cordova plugin add cordova-custom-config

config.xml 中定义自定义配置文件 block :

<platform name="ios">
<custom-config-file platform="ios" target="*-Info.plist" parent="UISupportedInterfaceOrientations" mode="replace">
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
</custom-config-file>
<custom-config-file platform="ios" target="*-Info.plist" parent="UISupportedInterfaceOrientations~ipad" mode="replace">
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</custom-config-file>
</platform>

关于iOS自定义方向配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48158836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com