Home

JiFile for Joomla!

JIFile
JiFile is a component for Joomla! that allows you to index file contents (PDF, DOC, etc..) to perform searches in them.

Learn more...  Demo

JoomPhoto Mobile

JPhotoMobile
JoomPhoto Mobile is a component for Joomla! that allows you to share the photos from your Android device to your site Joomla.

Learn more...  Demo

iFile Framework

IFile
IFile is an open source framework written entirely in PHP, allows the indexing of textual content of a document (DOC, PDF, EXCEL, etc.) and a quick search within them.

Learn more...  Demo

Easy Language

EasyLanguage
Easy Language is a plugin for easy and immediate management of multilingual texts in every possible area of joomla, articles, components, modules, metadata, template, other components(example K2) etc.

Learn more...

Article Book Effect

Article Book Effect
View Joomla articles with the effect turns the page of a book. This plugin will display the contents of an article in Joomla as a real book or magazine, using all the benefits of HTML5

Learn more...  Demo

 

Passport photo

Passport photo
The most popular Android app that allows you to print photos cards for your documents with your Android smartphone, in a simple and intuitive way.

Learn more...

 

Crazy Shadow

Crazy Shadow
Crazy Shadow is the 3D fast-paced and fun puzzle Android game! Try to rotate and drag shapes in the position of their shadows without fail! Solve in succession all combinations of levels of the game.

Learn more...

 

Admin Countdown

Admin Countdown
Module for Joomla! 2.5 and 3.x displays in the administration part of the site, a timer with countdown of the time remaining in your session.

Learn more...  Demo

 

Xcode: Accedere al contenuto di un bundle

Un bundle è l'insieme di tutti i file di un applicazione organizzati secondo un particolare schema utilizzato nella programmazione sia in ambito mobile (iOS) che in ambito desktop (Mac OSX). Non bisogna confondere un bundle con un package infatti, mentre un package è una directory che il Finder presenta come se fosse un unico file, un bundle è una directory con una struttura gerarchica standardizzata contenente il codice dell'applicazione e le risorse ad esso collegate. Se lo scopo di un package è quello di migliorare l'esperienza utente, quello del bundle è invece di agevolare la vita dello sviluppatore. Esistono diverse tipologie di bundle, le principali sono i bundle di applicazioni, di plug-ins e di frameworks. In un bundle di applicazione troveremo sempre i seguenti file:
  1. Un file info.plist contenente informazioni e configurazioni relative all'applicazione;
  2. Un file eseguibile;
  3. Dei file di risorse come ad esempio immagini, icone, suoni etc.
  4. Altri file di supporto: frameworks privati, plug-ins etc.
Possiamo osservare i file presenti in un bundle di applicazione e la loro organizzazione gerarchica semplicemente cliccando col tasto destro del mouse su un applicazione e selezionando 'Mostra Contenuto Pacchetto' in OSX. Dietro ad ogni package si nasconde quindi un bundle di applicazione.
In questo tutorial vedremo brevemente i metodi che ci vengono messi a disposizione dal fremowork Foundation per accedere alle risorse presenti in un bundle.
Ogni volta che creiamo un progetto in Xcode, i file vengono strutturati secondo lo schema bundle più appropriato (bundle di applicazione, di framework o di plug-in). Attraverso Foundation che ci mette a disposizione la classe NSBundle, possiamo accedere alle risorse (file sorgenti, file immagine, file plist etc.) presenti nel bundle in modo non ambiguo. Come prima cosa bisogna creare un riferimento al bundle del progetto e questo avviente tramite il metodo mainBludle:

NSBundle* bundleProgetto;
bundleProgetto = [NSBundle mainBundle];

In secondo luogo, per accedere alle risorse del bundle utilizzeremo uno dei seguenti metodi:
  • pathForResource:ofType:
  • pathForResource:ofType:inDirectory:
  • pathForResource:ofType:inDirectory:forLocalization:
  • pathForResourcesOfType:inDirectory:
  • pathForResourcesOfType:inDirectory:forLocalization:

Se ad esempio avessimo un immagine Mela.jpg nel nostro progetto, potremmo ottenere un riferimento ad essa attraverso:

NSString* myImage = [bundleProgetto pathForResource:@"Mela" ofType:@"jpg"];

Mentre se volessimo ottenere un riferimento a tutte le immagini presenti nella directory radice del nostro progetto, utililizzeremo:

NSArray* myImages = [bundleProgetto pathForResourcesOfType:@"jpg" inDirectory: nil];

NSBundle infine mette a disposizione dei metodi personalizzati in caso volessimo accedere al informazioni presenti nel file Info.plist, questi sono:
  • objectForInfoDictionaryKey:
  • infoDictionary:

infoDictionary: ritorna un dizionario con tutte le chiavi presenti nel file Info.plist, objectForInfoDictionaryKey: ritorna invece il valore di una singola chiave. Quindi se ad esempio volessimo ottenere la versione del bundle del nostro progetto (una delle tante informazioni presenti nel file Info.plist) potremo scrivere:

[bundleProgetto objectForInfoDictionaryKey:@"CFBundleVersion"];

Last comments

Forum Login