banner
李大仁博客

李大仁博客

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

[iOS] iPadとiPhoneのバージョンのxibファイルを相互に変換する

iPhone のバージョンのアプリ開発が完了した後、iPad のバージョンのアプリを開発する必要があり、iPhone のバージョンの xib ファイルを iPad のプロジェクトに追加する必要があります。ただし、Xcode で iPhone と iPad で使用される xib 形式は完全に互換性がないため、xib ファイルの内容を変換する必要があります。

iPad と iPhone の xib ファイルを分析すると、両者の間には差異があることがわかります。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'

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。