1. xib转换
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</string>
iPhone
type=”com.apple.InterfaceBuilder3.CocoaTouch.XIB”
<string key=”targetRuntimeIdentifier”>IBCocoaTouchFramework</string>
新版本
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
1 2 3 4 5 6 | 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
1 2 3 4 5 6 | 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' |
命令说明:
1 | find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g' |
2、修改xib的视图尺寸
在xib文件上右键,选择“Open As -> Interface Builder – iOS”,用IB模式打开。
选择xib文件中的根视图(UIView),在属性面板中找到Size选项,将其改为Full iPad Screen.
现在,你可以有一个iPad版本的xib了。
重要警告: 1.为了解决对iPAD版本换图片的烦恼,建议大家在iphone的 XIB中 使用 两倍的高清图,
这样生成的ipAD 版本的XIB 的图片就是你想要的、、、
2. *转好的ipad XIB 界面可能需要微调一些字体等、、、、