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”
ファイルの量が多すぎる場合は、以下のシェルスクリプトを使用してバッチ置換できます。
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'