iBooks Author støtter HTML5-widgeter (med filendelsen .wdgt).
Når du skal lage en HTML-widget for iBooks Author, bruker du program for tekstbehandling eller oppretting av webinnhold til å lage disse filene:
- Hoved-HTML-fil: Denne filen er hoveddelen av widgeten. Den kan ha et hvilket som helst navn, men filendelsen må være ".html". Du kan bruke CSS og JavaScript i hoved-HTML-filen eller legge til .css-og .js-filer i widget-pakken og få hoved-HTML-filen til å laste dem inn. I disse filene kan du benytte alle teknikker eller triks som du ønsker å bruke når du designer en nettside. Normalt bruker du HTML til å definere strukturen i widgeten, CSS til å lage den visuelle stilen og JavaScript for å støtte interaktivitet.
- Default.png: Dette er bildet som skal vises på siden, og som brukerne vil trykke på for å åpne widgeten. Navnet må være "Default.png" med stor "D". Den enkleste måten å lage Default.png på, er å ta en skjermdump av hoved-HTML-filen som kjøres i et webinnholdsprogram eller en nettleser. Når widgeten er aktiv, vil den ha støttelsen til Default.png hvis du ikke angir en annen størrelse i Info.plist.
- Info.plist: Denne filen gir iBooks Author og iBooks informasjonen de trenger for å kjøre widgeten. Navnet må være "Info.plist". Detaljer og et eksempel vises nedenfor.
Når du har opprettet de tre påkrevde filene (og kanskje noen valgfrie filer som CSS eller JavaScript), setter du dem sammen i en widgetpakke:
- Opprett en mappe ved hjelp av Finder og legg filene i den.
- Gi mappen nytt navn og legg filendelsen .wdgt til mappenavnet. Da opprettes widgetpakken og mappesymbolet endres til et widgetsymbol.
Nå er widgeten klar til å legges til i iBooks Author.
Merknader
- Hvis boken inkluderer HTML-widgeter som inneholder filer med kontrolltegn i filnavnet, kan den ikke publiseres i iBooks Store. Før du oppretter widgetpakken må du sørge for at ingen av filene i pakken bruker disse tegnene i filnavnet. Ikke bruk tilpassede mappesymboler.
- Unngå å inkludere mapper med disse navnene i widgetpakken:
- Resources/
- Support Files/Resources/
- Contents/Resources/
- Hvis du oppretter innhold for iPad-enheter eller Mac-maskiner som har en Retina-skjerm:
- Ved koding av HTML-, CSS- og JavaScript-filer følger du standardprotokollen for å lage nettsteder med Retina (2x)-grafikk.
- Widgetpakken bør inkludere en Default@2x.png-fil, som skal ha dobbelt så stor oppløsning som Default.png-filen. Du vil ikke kunne vise denne filen i iBooks Author, men den vil vises i iBooks på iPad-enheter eller Mac-maskiner med Retina-skjerm.
- Hvis du vil at widgeten skal bruke hele skjermen når den zoomes inn, sørger du for at Default.png er på 768 ganger 1024 piksler og Default@2x.png på 1536 ganger 2048 piksler. Hvis du ikke vil at widgeten skal bruke hele skjermen, sørger du for at Default.png har den ønskede størrelsen som du vil vise widgeten med (for eksempel 600 ganger 900), og gir Default@2x.png to ganger denne størrelsen.
- Lær mer om optimalisering av bøker laget med iBooks Author.
Filen Info.plist
Info.plist i en grunnleggende widget inneholder noen påkrevde nøkler og enkelte valgfrie nøkler. Nøklene som er oppført nedenfor sammen med definisjoner og noen eksempelverdier, er til en widget som kalles "Hello World".
Nøkkel | Eksempelverdi | Definisjon |
CFBundleDevelopmentRegion | English | Valgfri. En streng som angir det opprinnelige området. Dette svarer vanligvis til det opprinnelige språket til personen som laget pakken. |
CFBundleDisplayName | Hello World | Påkrevd. En streng som innholder det faktiske navnet på widgeten, som skal vises i iBooks Author og iBooks. |
CFBundleIdentifier | com.apple.widget.HelloWorld | Påkrevd. En streng som entydig identifiserer widgeten i omvendt domeneformat. |
CFBundleName | Hello World | Valgfri. En streng som inneholder navnet på widgeten. Det må være identisk med navnet på widgetpakken i Finder, minus filendelsen .wdgt. |
CFBundleShortVersionString | 1.0 | Valgfri. En streng som inneholder et forkortet versjonsnummer for widgeten. Det er ofte identisk med CFBundleVersion. |
CFBundleVersion | 1.0 | Valgfri. En streng som inneholder versjonsnummeret til widgeten. |
Height | 768 | Valgfri. At tall som angir høyden til widgeten i piksler. Hvis høyden ikke er angitt, brukes høyden i Default.png. |
MainHTML | HelloWorld.html | Påkrevd. En streng som angir navnet på HTML-filen som implementerer widgeten. |
Width | 1024 | Valgfri. At tall som angir bredden til widgeten i piksler. Hvis bredden ikke er angitt, brukes bredden i Default.png. |
IBNotifiesOnReady | <true/> | Valgfri. Når den er satt til "true", forteller iBooks når det skal skiftes fra å vise Default.png til å vise HTML-widgeten som kjøres. |
Den fullstendige Info.plist for en widget ser slik ut:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>CFBundleDevelopmentRegion</key> <string>English</string> <key>CFBundleDisplayName</key> <string>Hello World</string> <key>CFBundleIdentifier</key> <string>com.apple.widget.HelloWorld</string> <key>CFBundleName</key> <string>Hello World</string> <key>CFBundleShortVersionString</key> <string>1.0</string> <key>CFBundleVersion</key> <string>1.0</string> <key>Height</key> <integer>768</integer> <key>MainHTML</key> <string>HelloWorld.html</string> <key>Width</key> <integer>1024</integer> <key>IBNotifiesOnReady</key> <true/></dict></plist>
Restriksjoner og begrensninger
Noen funksjoner er ikke kompatible. Du bør ikke bruke disse nøklene:
Nøkkel | Beskrivelse |
AllowFileAccessOutsideOfWidget | Widgeter i bøker laget med iBooks Author får ikke tilgang til filer i det generelle filsystemet. |
AllowFullAccess | Kort betegnelse for en liste over andre tilgangsnøkler, som ikke alle er kompatible. |
AllowInternetPlugins | Internett-programtillegg som Flash er ikke tilgjengelig i bøker laget med iBooks Author. Filmer og lyd kan inkluderes via henholdsvis HTML5 <video>- og <audio>-elementer. Merk: Filmer og lyd i HTML-widgeter vil ikke være DRM-beskyttet. |
AllowJava | Widgeter i bøker laget med iBooks Author kan ikke inkludere Java-innhold. |
AllowSystem | Widgeter i bøker laget med iBooks Author kan ikke benytte systemkommandoer. |
Plugin | Widgeter i bøker laget med iBooks Author kan ikke inkludere en Cocoa-tilleggsmodul. |
iBooks Author ignorerer disse nøklene:
Nøkkel | Beskrivelse |
CloseBoxInsetX | Widgeter i iBooks Author og iBooks viser ingen lukkedekorasjon. |
CloseBoxInsetY |
|
Fonts | iBooks Author-widgeter kan ikke bruke inkluderte fonter. |
Krav til film og lyd
Du kan ikke bruke medier med filendelsene ".m4v" eller ".m4p".
Det anbefales at du bruker H.264-video i en MPEG-4-beholder med filendelsen ".mp4".
Når det gjelder lyd, anbefales det at du bruker AAC-lyd i en MPEG-4-beholder med filendelsen ".m4a".
Merk: Video- og lydmedier i HTML-widgetpakker blir ikke DRM-beskyttet.
Merk: I enkelte tilfeller kan ikke film- og lydfiler i HTML-widgeter spilles av i iBooks Author, men vil spilles av i iBooks. Hvis du ikke får spilt av en film- eller lydfil i widgeten i iBooks Author, prøver du å forhåndsvise på iPad eller med OS X Mavericks. Det skal vise deg hvordan filen vil bli avspilt i den ferdige boken.
Lokalisering
Lokaliserte strenger og ressurser støttes ikke i iBooks Author. Derfor bør strenger som er synlige for brukeren, være inkludert som integrert på målspråket.
Avkuttede elementer
Hvis et element, for eksempel et <video>-element vises som avskåret på den ene siden, kan det være fordi det utvides for å fylle et område som er større enn det som er synlig. Sjekk CSS for "width:auto" i #video-velgeren og endre den for å gjenspeile den faktiske størrelsen. Hvis widgeten for eksempel inneholder en video med målene 960 ganger 540, sjekker du CSS for den relevante velgeren og angir høyden og bredden eksplisitt til de riktige verdiene:
#video { width: 960; height: 540;}
Utvikling for både iOS og OS X Mavericks
iOS og OS X bruker fundamentalt forskjellige inndatatyper, så når du lager HTML-widgetene dine for iBooks Author, må du sørge for at du tilpasser for både berøring og bruk av mus hvis du vil bruke kontrolltyper som ikke håndteres av vanlige bevegelser.
Åpne HTML-widgeten
Avhengig av hvor komplisert HTML-widgeten er, kan leserne oppleve et lysglimt under HTML-initialiseringen når de åpner widgeten i iBooks. Hvis du vil unngå glimtet, må du endre widgeten, slik at den forteller iBooks når programmet skal skifte fra å vise Default.png-filen til å vise HTML-widgeten som kjøres.
Du må gjøre tre endringer for å legge til denne valgfrie funksjonaliteten:
- Legg til en IBNotifiesOnReady-linje som er satt til "true" (sann) i widgetens info.plist-fil, slik at iBooks vet at widgeten vil fortelle når det skal skiftes til å vise HTML-widgeten som kjøres:
<key>IBNotifiesOnReady</key><true/>
- Angi at widgeten skal laste Apple JavaScript-biblioteket i HEAD-delen av HTML-filen:
<script type="text/javascript" src="AppleClasses/AppleWidget.js"> </script>
Merk: AppleWidget.js finnes allerede på iPad, og du trenger ikke å inkludere den i widgetpakken. - Angi at widgeten skal la iBooks få vite når HTML er initialisert og iBooks kan skifte fra å vise Default.png-filen til å vise HTML-widgeten som kjøres med kallet (i JavaScript som er inkludert i HEAD-delen av HTML-filen):
widget.notifyContentIsReady()
Viktig: Hvis du velger å endre HTML-widgeten for å unngå lysglimtet, må du passe på å utføre alle de tre trinnene ovenfor. Du må fullføre alle trinnene for at dette skal fungere ordentlig.
Om innlegg i eksterne webtjenester
HTML-widget kan bare komme med innlegg i eksterne webtjenester hvis disse webtjenestene har implementert de nødvendige CORS-hodene (Cross-Origin Resource Sharing).