banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[iOS]將iPad和iPhone版本的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

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'

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。