numero - ultima version de ios para ipad 3
¿Cómo convertir iPhone xib a iPad xib? (16)
¿Qué hay de dejar que la computadora haga el trabajo de la computadora?
Más rápido, menos riesgo de errores.
Aquí hay un flujo de trabajo basado en la excelente respuesta de Jag , pero automatizado con sed.
Primero, configuremos algunas cosas. Solo necesitaremos hacer esto una vez.
En el directorio que contiene tus XIB, crea dos archivos con el siguiente contenido:
Archivo iPhoneToiPadXIBConversion.sed
:
s/com.apple.InterfaceBuilder3.CocoaTouch.XIB/com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB/g
s/IBCocoaTouchFramework/IBIPadFramework/g
y archivo iPadToiPhoneXIBConversion.sed
:
s/com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB/com.apple.InterfaceBuilder3.CocoaTouch.XIB/g
s/IBIPadFramework/IBCocoaTouchFramework/g
La instalación ha finalizado. Para convertir un XIB, ingrese uno de los dos comandos siguientes en el terminal:
Conversión de iPhone a iPad:
sed -f iPhoneToiPadXIBConversion.sed MyViewController~iphone.xib > MyViewController.xib
Conversión de iPad a iPhone:
sed -f iPadToiPhoneXIBConversion.sed MyViewController.xib > MyViewController~iphone.xib
Solo por diversión, creemos dos funciones en zsh, para hacer la conversión aún más simple:
function convertiPadXIBToiPhone () {
newXibName=`echo "$1" | /usr/bin/sed "s/.xib/~iphone.xib/"`
`/usr/bin/sed -f iPadToiPhoneXIBConversion.sed "$1" > "$newXibName"`
echo "Did convert $1 to $newXibName."
}
function convertiPhoneXIBToiPad () {
newXibName=`echo "$1" | /usr/bin/sed "s/~iphone.xib/.xib/"`
`/usr/bin/sed -f iPhoneToiPadXIBConversion.sed "$1" > "$newXibName"`
echo "Did convert $1 to $newXibName."
}
Después de haber agregado esto a su configuración de zsh, convertir un XIB es un simple como:
convertiPadXIBToiPhone MyViewController.xib
o
convertiPhoneXIBToiPad MyViewController.xib
¿Cómo lo haces? Vi un video tutorial sobre él, pero la pantalla era demasiado pequeña. Además, aparte de cambiar el tamaño de la vista, ¿hay algún otro cambio importante que deba realizar en mis aplicaciones de iPhone para convertir a iPad?
Abra el XIB en XCode 4 usando "ver como código fuente".
antes de
Haga una copia de seguridad del plumín en cuestión.
Uno
Sustituir esta sustancia
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="1056" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">301</string>
para este otro goo
<string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3100" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">301</string>
Dos
Luego, para cada vista en la punta utilizando el IB integrado, elimínelo y luego presione Deshacer.
Tres
Luego dúchese en agua caliente para eliminar esa desagradable sensación que pueda tener.
Actualización de Xcode 5
targetRuntime = "iOS.CocoaTouch"
a
targetRuntime = "iOS.CocoaTouch.iPad"
Además de la respuesta dada por Jag, también busque "320,460" y reemplácela con 768,1024 y su XIB se redimensionará a las dimensiones del iPad.
Documentaré lo que hice en Xcode 4.5:
fixpattern.sh
cp REPLACEME_Iphone.h REPLACEME_Ipad.h sed -e ''s/REPLACEME_Iphone/REPLACEME_Ipad/g'' REPLACEME_Ipad.h > REPLACEME_Ipad_tmp.h mv REPLACEME_Ipad_tmp.h REPLACEME_Ipad.h cp REPLACEME_Iphone.m REPLACEME_Ipad.m sed -e ''s/REPLACEME_Iphone/REPLACEME_Ipad/g'' REPLACEME_Ipad.m > REPLACEME_Ipad_tmp.m mv REPLACEME_Ipad_tmp.m REPLACEME_Ipad.m cp REPLACEME_Iphone.xib REPLACEME_Ipad.xib sed -e ''s/com.apple.InterfaceBuilder3.CocoaTouch.XIB /com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB/g'' REPLACEME_Ipad.xib > REPLACEME_Ipad_tmp.xib mv REPLACEME_Ipad_tmp.xib REPLACEME_Ipad.xib sed -e ''s/IBCocoaTouchFramework/IBIPadFramework/g'' REPLACEME_Ipad.xib > REPLACEME_Ipad_tmp.xib mv REPLACEME_Ipad_tmp.xib REPLACEME_Ipad.xib sed -e ''s/320, 416/768, 1004/g'' REPLACEME_Ipad.xib > REPLACEME_Ipad_tmp.xib mv REPLACEME_Ipad_tmp.xib REPLACEME_Ipad.xib sed -e ''s/REPLACEME_Iphone/REPLACEME_Ipad/g'' REPLACEME_Ipad.xib > REPLACEME_Ipad_tmp.xib mv REPLACEME_Ipad_tmp.xib REPLACEME_Ipad.xib
Cree una lista de archivo que desea convertir en
fixfile
defixfile
, cada línea será un nombre de archivo sin extensión. Si su nombre de archivo original esAAA_Iphone.h
, simplemente pongaAAA
. Si su archivo original no es de este patrón, necesita revisar el script.Ejecutar en línea de comando
cat fixfile | while read line ; do sed -e "s/REPLACEME/${line}/g" fixpattern.sh ; done > fixall.sh
Revisa y ejecuta
fixall.sh
Agregar archivo recién creado al proyecto
En XCode 4.3.2, la forma más fácil para mí de crear una versión para iPad de xib es duplicar ese archivo xib y agregar el sufijo ~ipad
al nombre del archivo. Y agregue tanto "myVC.xib" como "myVC ~ ipad.xib" en su proyecto. Tenga en cuenta que es "~ ipad" NO "~ iPad". Su aplicación usará esa ~ versión de iPad automáticamente cuando se ejecute en iPad. Esto también funciona con archivos de recursos (por ejemplo, imágenes).
La mejor referencia que pude encontrar en este momento ... https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/LoadingResources/ImageSoundResources/ImageSoundResources.html
En Xcode 5 debes simplemente:
Encontrar:
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="4510" systemVersion="12F37" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
Sustituir por:
<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="4510" systemVersion="12F37" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none">
Tenga en cuenta que solo estamos agregando .iPad a las propiedades type
y targetRuntime
.
Después de abrir simplemente seleccione un nuevo Tamaño para ajustar. Ejemplo: iPad Pantalla completa.
La respuesta de Jag es genial. Pero hay una trampa si se abre / crea un XIB en Xcode 5.
Para Xcode 5
1) Haga una copia del archivo xib de iPhone y agréguelo a su proyecto
2) Haga clic con el botón derecho en el archivo (en xcode) y abra como> Código fuente
3) La 2da línea debería verse así:
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="4510"
cambiarlo a
<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="4510"
4) La octava línea debería verse así:
<rect key="frame" x="0.0" y="0.0" width="320" height="480"/>
cambiarlo a
<rect key="frame" x="0.0" y="64" width="768" height="960"/>
Eso es todo y ahí tienes iPad XIB. Pero aún así, el verdadero mérito es para Jag.
Para Xcode 4,
No necesita crear un objetivo separado para cada dispositivo. En su lugar, puede cambiar los dispositivos en el resumen del proyecto a Universal, que ya estaría en el iPhone. Esto se responde en el enlace Actualización de la aplicación iOS 5 a Universal en Xcode 4.2. Por lo tanto, hará la transición por ti.
Parece que la mejor solución es desarrollarse siempre como iPhone primero, luego, una vez que esté completo, agregue el objetivo ipad, permitiendo que xcode haga la actualización. Cometí el mismo error, seleccionado universal para comenzar, que crea los primeros pocos archivos, pero luego todos los demás xib tuvieron que ser recreados a mano en la carpeta ipad. Dolor grande
Pude limitarlo a algunas cosas, así que aquí están los pasos que funcionaron para mí:
1) Haga una copia del archivo xib de iPhone y agréguelo a su proyecto
2) Haga clic con el botón derecho en el archivo (en xcode) y abra como> Código fuente
3) La 2da línea debería verse así:
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
Reemplazar con:
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="7.10">
4) Busque "IBCocoaTouchFramework" y reemplace todas las instancias con "IBIPadFramework"
5) Guarde el archivo y abra como> Interface Builder - iOS
El archivo aún podría parecerse a un xib iPhone normal, pero para mí, una vez que cambié la Barra de estado a "Negro" en el inspector de Atributos, el resto del xib simplemente se "colocó" en un iPad xib
Puede abrir el XIB como archivo de texto y cambiar el tamaño de UIView:
Haga clic derecho en su archivo XIB en el navegador y seleccione: "abrir como ..." Abrir como archivo fuente.
Encuentre la referencia de UIView y cambie los valores de Marco:
<object class="IBUIView" id="191373211">
<string key="NSFrame">{{0, 20}, {768, 1024}}</string>
Supongamos que tiene el SDK con Xcode 3 ,
- Abre IB.
- Abra el XIB.
- Archivo -> Crear versión para iPad usando máscaras de aumento automático.
XCode4:
En xcode 4 no podemos hacer eso para un solo xib, pero podemos crear versiones de ipad respectivas al mismo tiempo.
Antes de configurar su proyecto en ipad, cuando está configurado solo para iphone, haga clic derecho en el objetivo y haga clic en duplicado.
Ahora seleccione "duplicar y transición a ipad". Se crean un nuevo objetivo y un nuevo conjunto de xibs. Debe reducir algo de trabajo.
Espero eso ayude.
Xcode 4 :
La función Create iPad Version Using Autosizing Masks se ha eliminado de Xcode 4. En este momento, la forma más fácil es utilizar Xcode 3 para la conversión, ya que el formato de archivo nib (.xib) no cambió.
Xcode 3 & 4 ahora puede instalarse en el mismo sistema simplemente seleccionando una carpeta diferente (consulte las instrucciones de instalación en la imagen del disco).
De lo contrario, deberá copiar / pegar los elementos de la interfaz de usuario de la versión de iPhone y volver a vincularlos a su código.
Jag has given Great Answer.
En algunos casos.
No es necesario convertir su Iphone XIB en Ipad XIB. Puede usar Autoresizingmask y obtener Running Ipad también. solo necesita configurar su APLICACIÓN para que se ejecute en modo Universal con la máscara de autoresizing adecuada.