Cordova - iOS - 不允许所有方向
Cordova - iOS - Can't allow all orientations
我最近在本地从 Phongegap Build 切换到 cordova。我一辈子都想不出如何让 iOS 中的方向允许所有。这让我发疯。
我已经尝试了配置中所有记录的方法,例如:
<platform name="ios">
<preference name="orientation" value="all" />
</platform>
但这不起作用。我还尝试通过 plugin 手动设置 plist 属性,但这似乎也没有用。我在这里错过了什么?当我打开 .ipa 文件时,其中的 plist 只有以下方向属性:
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
据我了解,应该有四个这样的:
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
您可以使用 cordova-custom-config 插件来实现此目的 - 在将插件安装到您的本地项目后,将以下内容添加到您的 config.xml:
<platform name="ios">
<!-- Set orientation on iPhone -->
<config-file platform="ios" target="*-Info.plist" parent="UISupportedInterfaceOrientations">
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</config-file>
<!-- Set orientation on iPad -->
<config-file platform="ios" target="*-Info.plist" parent="UISupportedInterfaceOrientations~ipad">
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</config-file>
打开XCode中的项目应该可以看到plist中设置了相关的方向。
首选项名称不区分大小写,正确的条目必须是:
<preference name="Orientation" value="all" />
文档:http://cordova.apache.org/docs/en/dev/config_ref/index.html#preference
如果您需要 iPad 和 iPhone 的特定值,那么 cordova-custom-config 非常有用。
我最近在本地从 Phongegap Build 切换到 cordova。我一辈子都想不出如何让 iOS 中的方向允许所有。这让我发疯。
我已经尝试了配置中所有记录的方法,例如:
<platform name="ios">
<preference name="orientation" value="all" />
</platform>
但这不起作用。我还尝试通过 plugin 手动设置 plist 属性,但这似乎也没有用。我在这里错过了什么?当我打开 .ipa 文件时,其中的 plist 只有以下方向属性:
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
据我了解,应该有四个这样的:
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
您可以使用 cordova-custom-config 插件来实现此目的 - 在将插件安装到您的本地项目后,将以下内容添加到您的 config.xml:
<platform name="ios">
<!-- Set orientation on iPhone -->
<config-file platform="ios" target="*-Info.plist" parent="UISupportedInterfaceOrientations">
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</config-file>
<!-- Set orientation on iPad -->
<config-file platform="ios" target="*-Info.plist" parent="UISupportedInterfaceOrientations~ipad">
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</config-file>
打开XCode中的项目应该可以看到plist中设置了相关的方向。
首选项名称不区分大小写,正确的条目必须是:
<preference name="Orientation" value="all" />
文档:http://cordova.apache.org/docs/en/dev/config_ref/index.html#preference
如果您需要 iPad 和 iPhone 的特定值,那么 cordova-custom-config 非常有用。