Sommige API's van ActionScript 3.0 worden niet ondersteund in toepassingen die in het profiel van het mobiele apparaat worden uitgevoerd (zoals toepassingen die op de iPhone worden uitgevoerd).
Wanneer u dezelfde ActionScript-code gebruikt om toepassingen te ontwerpen voor meerdere profielen (zoals voor desktopcomputers en mobiele apparaten), moet u code gebruiken om te testen of een API wordt ondersteund. De klasse NativeWindow wordt bijvoorbeeld niet ondersteund in iPhone-toepassingen. (iPhone-toepassingen kunnen geen eigen vensters gebruiken of maken.) Als u wilt testen of een toepassing in een profiel wordt uitgevoerd dat eigen vensters ondersteunt (zoals het desktopprofiel), controleert u de eigenschap
NativeWindow.isSupported
.
De volgende tabel bevat API's die niet worden ondersteund in het profiel voor mobiele apparaten. In de tabel worden ook eigenschappen vermeld die u kunt controleren om vast te stellen wanneer een toepassing wordt uitgevoerd op een platform dat ondersteuning biedt voor een API.
API
|
Testen op ondersteuning
|
Accessibility
|
Capabilities.hasAccessibility
|
Camera
|
Camera.isSupported
|
DatagramSocket
|
DatagramSocket.isSupported
|
DNSResolver
|
DNSResolver.isSupported
|
DockIcon
|
NativeApplication.supportsDockIcon
|
DRMManager
|
DRMManager.isSupported
|
EncryptedLocalStore
|
EncryptedLocalStore.isSupported
|
HTMLLoader
|
HTMLLoader.isSupported
|
LocalConnection
|
LocalConnection.isSupported
|
Microphone
|
Microphone.isSupported
|
NativeApplication.exit()
|
—
|
NativeApplication.menu
|
NativeApplication.supportsMenu
|
NativeApplication.isSetAsDefaultApplication()
|
NativeApplication.supportsDefaultApplication
|
NativeApplication.startAtLogin
|
NativeApplication.supportsStartAtLogin
|
NativeMenu
|
NativeMenu.isSupported
|
NativeProcess
|
NativeProcess.isSupported
|
NativeWindow
|
NativeWindow.isSupported
|
NativeWindow.notifyUser()
|
NativeWindow.supportsNotification
|
NetworkInfo
|
NetworkInfo.isSupported
|
PDF support
|
HTMLLoader.pdfCapability
|
PrintJob
|
PrintJob.isSupported
|
SecureSocket
|
SecureSocket.isSupported
|
ServerSocket
|
ServerSocket.isSupported
|
Shader
|
—
|
ShaderFilter
|
—
|
StorageVolumeInfo
|
StorageVolumeInfo.isSupported
|
XMLSignatureValidator
|
XMLSignatureValidator.isSupported
|
U kunt geen AIR-toepassingen die zijn gebaseerd op HTML en JavaScript schrijven voor het profiel voor mobiele apparaten.
Sommige ActionScript 3.0-klassen worden slechts gedeeltelijk ondersteund:
De klasse File
iPhone-toepassingen hebben alleen toegang tot de toepassingsmap en de opslagmap van de toepassing. U kunt ook
File.createTempFile()
en
File.createTempDirectory()
aanroepen. Als u een bewerking aanroept om toegang te krijgen tot een andere map (zoals de FileStream lees- of schrijfmethode) resulteert dit in een IOError-uitzondering.
iPhone-toepassingen ondersteunen geen eigen dialoogvensters van bestandsbrowsers, zoals het venster van de methode
File.browseForOpen()
.
De klasse Loader
In een iPhone-toepassing kunt u de methode
Loader.load()
niet gebruiken. U kunt echter geen ActionScript-code uitvoeren in SWF-inhoud die met de methode
Loader.load()
is geladen. U kunt echter wel elementen in het SWF-bestand (zoals filmclips, afbeeldingen, lettertypen en geluiden in de bibliotheek) gebruiken. U kunt de methode
Loader.load()
ook gebruiken om afbeeldingsbestanden te laden.
De klasse Video
Alleen Sorensen-video en ON2 VP6-video worden ondersteund in een AIR-toepassing voor de iPhone.
U kunt de methode
navigateToURL()
gebruiken om een H.264-video buiten de toepassing te openen. Geef, net als bij de parameter
request
, een URLRequest-object door met een URL die naar de video verwijst. De video wordt in de videospeler van de iPhone gestart.
Tekstvelden
Er gelden beperkingen voor lettertypen en andere instellingen van tekstvelden op de iPhone. Zie
Lettertypen en tekstinvoer
.
Niet-ondersteunde API's en foutopsporing met ADL
Sommige AIR-functionaliteit die niet op de iPhone wordt ondersteund is wel beschikbaar bij het testen van toepassingen met ADL (op de computer waarop de toepassing wordt ontwikkeld). Houd rekening met deze verschillen wanneer u inhoud met ADL test.
Deze functionaliteit betreft de volgende video- en audiocodecs: Speex (audio), H.264/AVC (video) en AAC (audio). Deze codecs zijn niet beschikbaar in AIR-toepassingen die op een iPhone worden uitgevoerd. Ze functioneren echter wel gewoon op de desktopcomputer.
Toegankelijkheid en ondersteuning voor schermlezers werkt in ADL op Windows. Maar deze API's worden niet op de iPhone ondersteund.
Het RTMPE-protocol werkt normaal wanneer het vanuit ADL op een desktopcomputer wordt gebruikt. Maar het is op de iPhone niet mogelijk om met NetConnection via het RTMPE-protocol verbinding te maken.
De klasse Loader werkt zonder verdere beperkingen wanneer inhoud wordt uitgevoerd met ADL. Maar als dit op de iPhone wordt gedaan, leiden pogingen tot het laden van SWF-inhoud met ActionScript-bytecode tot een foutbericht.
Instanties van Shader worden in ADL uitgevoerd. Maar op de iPhone wordt pixelbender-bytecode niet geïnterpreteerd en worden geen arceringen weergegeven.
Zie
Fouten opsporen in een iPhone-toepassing
voor meer informatie.