完成 iPhone 版本的 APP 开发后,需要开发 iPad 版本的 APP。需要将 iPhone 版本的 xib 文件添加到 iPad 项目中,但是 Xcode 中 iPhone 和 iPad 使用的 xib 格式不能完全互换,因此需要转换 xib 文件的内容。
分析 iPad 和 iPhone 的 xib 文件,可以了解它们之间的区别。直接使用 source 方式打开 xib 文件,检索替换并保存即可。
以下是 iPad 和 iPhone 的 xib 文件之间的区别,请注意区分 xib 的文件版本。
旧版本(Xcode4.2)
iPad
type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB”
<string key="targetRuntimeIdentifier”>IBIPadFramework
iPhone
type="com.apple.InterfaceBuilder3.CocoaTouch.XIB”
IBCocoaTouchFramework
新版本
iPad
targetRuntime=“iOS.CocoaTouch.iPad"
type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB”
iPhone
targetRuntime=“iOS.CocoaTouch"
type="com.apple.InterfaceBuilder3.CocoaTouch.XIB”
如果文件量太多的话,可以使用以下 shell 脚本批量替换
iPhone -> iPad
find . -type f -name '*.xib' | xargs perl -pi -e \
's|\"com\.apple\.InterfaceBuilder3\.CocoaTouch\.XIB\"|\"com\.apple\.InterfaceBuilder3\.CocoaTouch\.iPad\.XIB\"|g'
find . -type f -name '*.xib' | xargs perl -pi -e \
's|IBCocoaTouchFramework|IBIPadFramework|g'
find . -type f -name '*.xib' | xargs perl -pi -e \
's|\"iOS\.CocoaTouch\"|\"iOS\.CocoaTouch\.iPad\"|g'
iPad -> iPhone
find . -type f -name '*.xib' | xargs perl -pi -e \
's|\"com\.apple\.InterfaceBuilder3\.CocoaTouch\.iPad\.XIB\"|\"com\.apple\.InterfaceBuilder3\.CocoaTouch\.XIB\"|g'
find . -type f -name '*.xib' | xargs perl -pi -e \
's|IBIPadFramework|IBCocoaTouchFramework|g'
find . -type f -name '*.xib' | xargs perl -pi -e \
's|\"iOS\.CocoaTouch\.iPad\"|\"iOS\.CocoaTouch\"|g'
命令说明:
find -name ' 要查找的文件名 ' | xargs perl -pi -e's | 被替换的字符串 | 替换后的字符串 | g'