Frequentemente temos que fazer alguma requisição em servidores HTTP e mais frequentemente ainda estes servidores pedirem autenticação por senha. Um exemplo comum é tentar acessar uma pasta protegida em um webserver onde é pedido um usuario e senha antes de permitir o acesso.

Quando usamos o objeto NSURLRequest para fazer esta requisição, o delegate do NSURLConnection possui metodos que nos avisam quando o servidor está pedindo uma autenticação por usuario e senha.

Este post irá demonstrar um exemplo de request a URL que possui autenticação.

Inicia o request a URL:

/*---------------------------------------------------------------------------
* Começa o processo de autenticação
*--------------------------------------------------------------------------*/
- (void)startAuthentication
{
  NSURL *url = [NSURL URLWithString:@"http://protectedURL.com"];
  NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];

  // Inicia o request
  // Assume que NSURLConnection *urlConnection está definida como uma variável de instancia
   urlConnection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self];
}

Responde a requisição de autenticação:

Se uma requisição de autenticação for pedida pela URL o metodo abaixo será chamado. Para responder basta criar um objeto NSURLCredential setando usuario e senha.

Note que nós podemos checar quantas vezes a requisição falhou e disparar uma mensagem de erro.

/*---------------------------------------------------------------------------
* Recebeu a requisição de autenticação
*--------------------------------------------------------------------------*/
- (void)connection:(NSURLConnection *)connection
      didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{
  // Acesso falhou 2 vezes...
  if ([challenge previousFailureCount] > 1)
  {
    [urlConnection release];

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Erro de autenticação"
                                     message:"Excesso de tentativas sem sucesso!"
                                     delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];

    [alert show];
    [alert release];
  }
  else
  {
    // Responde a requisição
    NSURLCredential *cred = [[[NSURLCredential alloc] initWithUser:@"admin" password:@"password"
       persistence:NSURLCredentialPersistenceForSession] autorelease];
    [[challenge sender] useCredential:cred forAuthenticationChallenge:challenge];
  }
}

/*---------------------------------------------------------------------------
* Termina de carregar a URL
*--------------------------------------------------------------------------*/
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
  NSLog(@"Conexão de sucesso!");  

  [urlConnection release];
}

/*---------------------------------------------------------------------------
* Falha na conexão da URL
*--------------------------------------------------------------------------*/
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
  NSLog(@"Falha na conexão.");

  [urlConnection release];
}

iPlace em BH!

Finalmente teremos um representante oficial a altura em BH. A loja já está em reforma e abrirá no Diamond Mall no Bairro de Lourdes.

A foto acima foi tirada por Willian Max no sábado, um dia depois de os tapumes serem levantados no local das obras.

A nova Apple Premium Reseller será aberta em BH no mês de outubro.

Fonte: iPlace também está chegando a Belo Horizonte | MacMagazine

“Baseado em minha experiência com o Flash Player 10.1 para celulares, ele poderá logo se juntar ao drive de disquete no cemitério da tecnologia, um ítem que Steve Jobs ajudou a matar”.

“Sou a última pessoa na face da Terra que queria acreditar em Steve Jobs quando disse a Walter Mossberg no D8 que ‘o Flash já teve seu dia’. Tomei isso como nada mais que representação quando Jobs expressou seus pensamentos sobre o Flash e escreveu que ‘o Flash é fechado e proprietário, tem grandes defeitos técnicos e não suporta dispositivos baseados em toque’. Após investir algum tempo usando o Flash Player 10.1 no novo Droid 2, primeiro celular Android 2.2 a vir com o tocador preinstalado, sou tristemente forçado a admitir que Steve Jobs estava certo. A oferta da Adobe parece muito pouco, muito tarde”, diz Avram Piltch no site da revista LAPTOP Magazine.

Ele descreve o quão ruim é a versão móvel do Flash contando uma experiência. “Quando fui ao ABC.com e tentei reproduzir um vídeo, esperei cinco minutos enquanto o tocador dizia ‘carregando’. Durante esse tempo, foi quase impossível rolar a tela ou tocar objetos nela. Eventualmente, consegui rolar para cima para ver a mensagem que obstruía tudo e, por fim, disse: ‘Desculpe. Um erro ocorreu ao tentar carregar o vídeo. Tente novamente mais tarde’”.

“Quando visitei o Fox.com e tentei ver um episódio de House, o programa conseguiu reproduzi-lo, mas, mesmo numa rede Wi-Fi, a reprodução era como numa apresentação de slides. Pior que isso: o tocador parou de responder minhas tentativas de tocar os botões de pausa, volume e rolagem. Num dado momento da reprodução, uma mensagem sobreposta alertou-me de que o vídeo ‘não estava otimizado para celulares’”, conta Piltch.

“Durante esses soluços do Flash, foi quase impossível andar pela tela e muitos toques eram simplesmente ignorados ou demoravam muitos segundos para serem obedecidos. A única maneira que encontrei de sair dessa situação e retornar o celular à normalidade quando o Flash Player se comportava dessa forma era pressionando o botão de retorno ou o de início para sair do programa — e até para isso o celular levava um tempo para voltar a responder”, relata ele.

“Em abril, Jobs destacou que o Flash móvel tinha sido prometido e adiado desde o início de 2009. ‘Achamos que ele eventualmente será disponibilizado, mas ficamos felizes por não termos esperado por isso’, escreveu ele. Infelizmente, muitos dos provedores de conteúdo para a Internet também não esperaram. Quando surfamos um pouco, descobrimos mais e mais sites que mudaram para o HTML5. A diferença entre o HTML5 e o vídeo em Flash que funciona direito é tão suave que você nem percebe”, observa Piltch.

“Baseado em minha experiência com o Flash Player 10.1 para celulares, ele poderá logo se juntar ao drive de disquete no cemitério da tecnologia, um ítem que Steve Jobs ajudou a matar”, pondera ele.

Fonte: AppleMania.info

Como aprender C++ em 21 dias?

Realmente hilário… Quem já mexeu com C++ deve estar rindo agora…

Até hoje eu não tinha visto uma lista oficial de fontes disponíveis para serem utilizadas no iPhone e iPad, apesar de que este é um tópico que sempre vem a tona quando estamos planejando uma nova aplicação, principalmente quando se tem um designer envolvido na história.

Então já que a Apple não publica tal lista, eu decidi realizar um experimento e imprimir tal lista no proprio console usando o NSLog.

Faça o download do fonte: FontFamily.

for (NSString *family in [UIFont familyNames])
{
    NSLog(@"%@", family);
    for (NSString *font in [UIFont fontNamesForFamilyName:family])
    {
        NSLog(@"\t%@", font);
    }
}

E o resultado foi:

Arial Hebrew
           ArialHebrew-Bold
           ArialHebrew
Zapfino
           Zapfino
Oriya Sangam MN
           OriyaSangamMN
           OriyaSangamMN-Bold
Cochin
           Cochin
           Cochin-BoldItalic
           Cochin-Italic
           Cochin-Bold
Baskerville
           Baskerville
           Baskerville-BoldItalic
           Baskerville-Italic
           Baskerville-Bold
Verdana
           Verdana-Bold
           Verdana-BoldItalic
           Verdana-Italic
           Verdana
Gurmukhi MN
           GurmukhiMN
           GurmukhiMN-Bold
Palatino
           Palatino-BoldItalic
           Palatino-Italic
           Palatino-Bold
           Palatino-Roman
Tamil Sangam MN
           TamilSangamMN-Bold
           TamilSangamMN
Marker Felt
           MarkerFelt-Wide
           MarkerFelt-Thin
Courier New
           CourierNewPS-BoldMT
           CourierNewPS-ItalicMT
           CourierNewPS-BoldItalicMT
           CourierNewPSMT
Courier
           Courier-Oblique
           Courier
           Courier-Bold
           Courier-BoldOblique
DB LCD Temp
           DBLCDTempBlack
Trebuchet MS
           TrebuchetMS-Italic
           Trebuchet-BoldItalic
           TrebuchetMS
           TrebuchetMS-Bold
Arial Rounded MT Bold
           ArialRoundedMTBold
Bangla Sangam MN
           BanglaSangamMN
           BanglaSangamMN-Bold
Telugu Sangam MN
           TeluguSangamMN
           TeluguSangamMN-Bold
American Typewriter
           AmericanTypewriter-Bold
           AmericanTypewriter
Arial
           ArialMT
           Arial-ItalicMT
           Arial-BoldMT
           Arial-BoldItalicMT
Hiragino Kaku Gothic ProN
           HiraKakuProN-W3
           HiraKakuProN-W6
AppleGothic
           AppleGothic
Heiti SC
           STHeitiSC-Light
           STHeitiSC-Medium
Malayalam Sangam MN
           MalayalamSangamMN-Bold
           MalayalamSangamMN
Thonburi
           Thonburi
           Thonburi-Bold
Helvetica
           Helvetica-BoldOblique
           Helvetica
           Helvetica-Oblique
           Helvetica-Bold
Futura
           Futura-CondensedExtraBold
           Futura-MediumItalic
           Futura-Medium
Gujarati Sangam MN
           GujaratiSangamMN-Bold
           GujaratiSangamMN
Heiti K
           STHeitiK-Medium
           STHeitiK-Light
Devanagari Sangam MN
           DevanagariSangamMN-Bold
           DevanagariSangamMN
Heiti TC
           STHeitiTC-Light
           STHeitiTC-Medium
Sinhala Sangam MN
           SinhalaSangamMN
           SinhalaSangamMN-Bold
Kannada Sangam MN
           KannadaSangamMN-Bold
           KannadaSangamMN
Georgia
           Georgia-BoldItalic
           Georgia-Italic
           Georgia-Bold
           Georgia
Heiti J
           STHeitiJ-Medium
           STHeitiJ-Light
Times New Roman
           TimesNewRomanPS-BoldMT
           TimesNewRomanPS-ItalicMT
           TimesNewRomanPS-BoldItalicMT
           TimesNewRomanPSMT
Geeza Pro
           GeezaPro
           GeezaPro-Bold
Helvetica Neue
           HelveticaNeue-Bold
           HelveticaNeue
Arial Hebrew
           ArialHebrew-Bold
           ArialHebrew
Zapfino
           Zapfino
Oriya Sangam MN
           OriyaSangamMN
           OriyaSangamMN-Bold
Cochin
           Cochin
           Cochin-BoldItalic
           Cochin-Italic
           Cochin-Bold
Baskerville
           Baskerville
           Baskerville-BoldItalic
           Baskerville-Italic
           Baskerville-Bold
Verdana
           Verdana-Bold
           Verdana-BoldItalic
           Verdana-Italic
           Verdana
Gurmukhi MN
           GurmukhiMN
           GurmukhiMN-Bold
Palatino
           Palatino-BoldItalic
           Palatino-Italic
           Palatino-Bold
           Palatino-Roman
Tamil Sangam MN
           TamilSangamMN-Bold
           TamilSangamMN
Marker Felt
           MarkerFelt-Wide
           MarkerFelt-Thin
Courier New
           CourierNewPS-BoldMT
           CourierNewPS-ItalicMT
           CourierNewPS-BoldItalicMT
           CourierNewPSMT
Courier
           Courier-Oblique
           Courier
           Courier-Bold
           Courier-BoldOblique
DB LCD Temp
           DBLCDTempBlack
Trebuchet MS
           TrebuchetMS-Italic
           Trebuchet-BoldItalic
           TrebuchetMS
           TrebuchetMS-Bold
Arial Rounded MT Bold
           ArialRoundedMTBold
Bangla Sangam MN
           BanglaSangamMN
           BanglaSangamMN-Bold
Telugu Sangam MN
           TeluguSangamMN
           TeluguSangamMN-Bold
American Typewriter
           AmericanTypewriter-Bold
           AmericanTypewriter
Arial
           ArialMT
           Arial-ItalicMT
           Arial-BoldMT
           Arial-BoldItalicMT
Hiragino Kaku Gothic ProN
           HiraKakuProN-W3
           HiraKakuProN-W6
AppleGothic
           AppleGothic
Heiti SC
           STHeitiSC-Light
           STHeitiSC-Medium
Malayalam Sangam MN
           MalayalamSangamMN-Bold
           MalayalamSangamMN
Thonburi
           Thonburi
           Thonburi-Bold
Helvetica
           Helvetica-BoldOblique
           Helvetica
           Helvetica-Oblique
           Helvetica-Bold
Futura
           Futura-CondensedExtraBold
           Futura-MediumItalic
           Futura-Medium
Gujarati Sangam MN
           GujaratiSangamMN-Bold
           GujaratiSangamMN
Heiti K
           STHeitiK-Medium
           STHeitiK-Light
Devanagari Sangam MN
           DevanagariSangamMN-Bold
           DevanagariSangamMN
Heiti TC
           STHeitiTC-Light
           STHeitiTC-Medium
Sinhala Sangam MN
           SinhalaSangamMN
           SinhalaSangamMN-Bold
Kannada Sangam MN
           KannadaSangamMN-Bold
           KannadaSangamMN
Georgia
           Georgia-BoldItalic
           Georgia-Italic
           Georgia-Bold
           Georgia
Heiti J
           STHeitiJ-Medium
           STHeitiJ-Light
Times New Roman
           TimesNewRomanPS-BoldMT
           TimesNewRomanPS-ItalicMT
           TimesNewRomanPS-BoldItalicMT
           TimesNewRomanPSMT
Geeza Pro
           GeezaPro
           GeezaPro-Bold
Helvetica Neue
           HelveticaNeue-Bold
           HelveticaNeue
Arial Hebrew
           ArialHebrew-Bold
           ArialHebrew
Zapfino
           Zapfino
Oriya Sangam MN
           OriyaSangamMN
           OriyaSangamMN-Bold
Cochin
           Cochin
           Cochin-BoldItalic
           Cochin-Italic
           Cochin-Bold
Baskerville
           Baskerville
           Baskerville-BoldItalic
           Baskerville-Italic
           Baskerville-Bold
Verdana
           Verdana-Bold
           Verdana-BoldItalic
           Verdana-Italic
           Verdana
Gurmukhi MN
           GurmukhiMN
           GurmukhiMN-Bold
Palatino
           Palatino-BoldItalic
           Palatino-Italic
           Palatino-Bold
           Palatino-Roman
Tamil Sangam MN
           TamilSangamMN-Bold
           TamilSangamMN
Marker Felt
           MarkerFelt-Wide
           MarkerFelt-Thin
Courier New
           CourierNewPS-BoldMT
           CourierNewPS-ItalicMT
           CourierNewPS-BoldItalicMT
           CourierNewPSMT
Courier
           Courier-Oblique
           Courier
           Courier-Bold
           Courier-BoldOblique
DB LCD Temp
           DBLCDTempBlack
Trebuchet MS
           TrebuchetMS-Italic
           Trebuchet-BoldItalic
           TrebuchetMS
           TrebuchetMS-Bold
Arial Rounded MT Bold
           ArialRoundedMTBold
Bangla Sangam MN
           BanglaSangamMN
           BanglaSangamMN-Bold
Telugu Sangam MN
           TeluguSangamMN
           TeluguSangamMN-Bold
American Typewriter
           AmericanTypewriter-Bold
           AmericanTypewriter
Arial
           ArialMT
           Arial-ItalicMT
           Arial-BoldMT
           Arial-BoldItalicMT
Hiragino Kaku Gothic ProN
           HiraKakuProN-W3
           HiraKakuProN-W6
AppleGothic
           AppleGothic
Heiti SC
           STHeitiSC-Light
           STHeitiSC-Medium
Malayalam Sangam MN
           MalayalamSangamMN-Bold
           MalayalamSangamMN
Thonburi
           Thonburi
           Thonburi-Bold
Helvetica
           Helvetica-BoldOblique
           Helvetica
           Helvetica-Oblique
           Helvetica-Bold
Futura
           Futura-CondensedExtraBold
           Futura-MediumItalic
           Futura-Medium
Gujarati Sangam MN
           GujaratiSangamMN-Bold
           GujaratiSangamMN
Heiti K
           STHeitiK-Medium
           STHeitiK-Light
Devanagari Sangam MN
           DevanagariSangamMN-Bold
           DevanagariSangamMN
Heiti TC
           STHeitiTC-Light
           STHeitiTC-Medium
Sinhala Sangam MN
           SinhalaSangamMN
           SinhalaSangamMN-Bold
Kannada Sangam MN
           KannadaSangamMN-Bold
           KannadaSangamMN
Georgia
           Georgia-BoldItalic
           Georgia-Italic
           Georgia-Bold
           Georgia
Heiti J
           STHeitiJ-Medium
           STHeitiJ-Light
Times New Roman
           TimesNewRomanPS-BoldMT
           TimesNewRomanPS-ItalicMT
           TimesNewRomanPS-BoldItalicMT
           TimesNewRomanPSMT
Geeza Pro
           GeezaPro
           GeezaPro-Bold
Helvetica Neue
           HelveticaNeue-Bold
           HelveticaNeue
Arial Hebrew
           ArialHebrew-Bold
           ArialHebrew
Zapfino
           Zapfino
Oriya Sangam MN
           OriyaSangamMN
           OriyaSangamMN-Bold
Cochin
           Cochin
           Cochin-BoldItalic
           Cochin-Italic
           Cochin-Bold
Baskerville
           Baskerville
           Baskerville-BoldItalic
           Baskerville-Italic
           Baskerville-Bold
Verdana
           Verdana-Bold
           Verdana-BoldItalic
           Verdana-Italic
           Verdana
Gurmukhi MN
           GurmukhiMN
           GurmukhiMN-Bold
Palatino
           Palatino-BoldItalic
           Palatino-Italic
           Palatino-Bold
           Palatino-Roman
Tamil Sangam MN
           TamilSangamMN-Bold
           TamilSangamMN
Marker Felt
           MarkerFelt-Wide
           MarkerFelt-Thin
Courier New
           CourierNewPS-BoldMT
           CourierNewPS-ItalicMT
           CourierNewPS-BoldItalicMT
           CourierNewPSMT
Courier
           Courier-Oblique
           Courier
           Courier-Bold
           Courier-BoldOblique
DB LCD Temp
           DBLCDTempBlack
Trebuchet MS
           TrebuchetMS-Italic
           Trebuchet-BoldItalic
           TrebuchetMS
           TrebuchetMS-Bold
Arial Rounded MT Bold
           ArialRoundedMTBold
Bangla Sangam MN
           BanglaSangamMN
           BanglaSangamMN-Bold
Telugu Sangam MN
           TeluguSangamMN
           TeluguSangamMN-Bold
American Typewriter
           AmericanTypewriter-Bold
           AmericanTypewriter
Arial
           ArialMT
           Arial-ItalicMT
           Arial-BoldMT
           Arial-BoldItalicMT
Hiragino Kaku Gothic ProN
           HiraKakuProN-W3
           HiraKakuProN-W6
AppleGothic
           AppleGothic
Heiti SC
           STHeitiSC-Light
           STHeitiSC-Medium
Malayalam Sangam MN
           MalayalamSangamMN-Bold
           MalayalamSangamMN
Thonburi
           Thonburi
           Thonburi-Bold
Helvetica
           Helvetica-BoldOblique
           Helvetica
           Helvetica-Oblique
           Helvetica-Bold
Futura
           Futura-CondensedExtraBold
           Futura-MediumItalic
           Futura-Medium
Gujarati Sangam MN
           GujaratiSangamMN-Bold
           GujaratiSangamMN
Heiti K
           STHeitiK-Medium
           STHeitiK-Light
Devanagari Sangam MN
           DevanagariSangamMN-Bold
           DevanagariSangamMN
Heiti TC
           STHeitiTC-Light
           STHeitiTC-Medium
Sinhala Sangam MN
           SinhalaSangamMN
           SinhalaSangamMN-Bold
Kannada Sangam MN
           KannadaSangamMN-Bold
           KannadaSangamMN
Georgia
           Georgia-BoldItalic
           Georgia-Italic
           Georgia-Bold
           Georgia
Heiti J
           STHeitiJ-Medium
           STHeitiJ-Light
Times New Roman
           TimesNewRomanPS-BoldMT
           TimesNewRomanPS-ItalicMT
           TimesNewRomanPS-BoldItalicMT
           TimesNewRomanPSMT
Geeza Pro
           GeezaPro
           GeezaPro-Bold
Helvetica Neue
           HelveticaNeue-Bold
           HelveticaNeue
Arial Hebrew
           ArialHebrew-Bold
           ArialHebrew
Zapfino
           Zapfino
Oriya Sangam MN
           OriyaSangamMN
           OriyaSangamMN-Bold
Cochin
           Cochin
           Cochin-BoldItalic
           Cochin-Italic
           Cochin-Bold
Baskerville
           Baskerville
           Baskerville-BoldItalic
           Baskerville-Italic
           Baskerville-Bold
Verdana
           Verdana-Bold
           Verdana-BoldItalic
           Verdana-Italic
           Verdana
Gurmukhi MN
           GurmukhiMN
           GurmukhiMN-Bold
Palatino
           Palatino-BoldItalic
           Palatino-Italic
           Palatino-Bold
           Palatino-Roman
Tamil Sangam MN
           TamilSangamMN-Bold
           TamilSangamMN
Marker Felt
           MarkerFelt-Wide
           MarkerFelt-Thin
Courier New
           CourierNewPS-BoldMT
           CourierNewPS-ItalicMT
           CourierNewPS-BoldItalicMT
           CourierNewPSMT
Courier
           Courier-Oblique
           Courier
           Courier-Bold
           Courier-BoldOblique
DB LCD Temp
           DBLCDTempBlack
Trebuchet MS
           TrebuchetMS-Italic
           Trebuchet-BoldItalic
           TrebuchetMS
           TrebuchetMS-Bold
Arial Rounded MT Bold
           ArialRoundedMTBold
Bangla Sangam MN
           BanglaSangamMN
           BanglaSangamMN-Bold
Telugu Sangam MN
           TeluguSangamMN
           TeluguSangamMN-Bold
American Typewriter
           AmericanTypewriter-Bold
           AmericanTypewriter
Arial
           ArialMT
           Arial-ItalicMT
           Arial-BoldMT
           Arial-BoldItalicMT
Hiragino Kaku Gothic ProN
           HiraKakuProN-W3
           HiraKakuProN-W6
AppleGothic
           AppleGothic
Heiti SC
           STHeitiSC-Light
           STHeitiSC-Medium
Malayalam Sangam MN
           MalayalamSangamMN-Bold
           MalayalamSangamMN
Thonburi
           Thonburi
           Thonburi-Bold
Helvetica
           Helvetica-BoldOblique
           Helvetica
           Helvetica-Oblique
           Helvetica-Bold
Futura
           Futura-CondensedExtraBold
           Futura-MediumItalic
           Futura-Medium
Gujarati Sangam MN
           GujaratiSangamMN-Bold
           GujaratiSangamMN
Heiti K
           STHeitiK-Medium
           STHeitiK-Light
Devanagari Sangam MN
           DevanagariSangamMN-Bold
           DevanagariSangamMN
Heiti TC
           STHeitiTC-Light
           STHeitiTC-Medium
Sinhala Sangam MN
           SinhalaSangamMN
           SinhalaSangamMN-Bold
Kannada Sangam MN
           KannadaSangamMN-Bold
           KannadaSangamMN
Georgia
           Georgia-BoldItalic
           Georgia-Italic
           Georgia-Bold
           Georgia
Heiti J
           STHeitiJ-Medium
           STHeitiJ-Light
Times New Roman
           TimesNewRomanPS-BoldMT
           TimesNewRomanPS-ItalicMT
           TimesNewRomanPS-BoldItalicMT
           TimesNewRomanPSMT
Geeza Pro
           GeezaPro
           GeezaPro-Bold
Helvetica Neue
           HelveticaNeue-Bold
           HelveticaNeue
Arial Hebrew
           ArialHebrew-Bold
           ArialHebrew
Zapfino
           Zapfino
Oriya Sangam MN
           OriyaSangamMN
           OriyaSangamMN-Bold
Cochin
           Cochin
           Cochin-BoldItalic
           Cochin-Italic
           Cochin-Bold
Baskerville
           Baskerville
           Baskerville-BoldItalic
           Baskerville-Italic
           Baskerville-Bold
Verdana
           Verdana-Bold
           Verdana-BoldItalic
           Verdana-Italic
           Verdana
Gurmukhi MN
           GurmukhiMN
           GurmukhiMN-Bold
Palatino
           Palatino-BoldItalic
           Palatino-Italic
           Palatino-Bold
           Palatino-Roman
Tamil Sangam MN
           TamilSangamMN-Bold
           TamilSangamMN
Marker Felt
           MarkerFelt-Wide
           MarkerFelt-Thin
Courier New
           CourierNewPS-BoldMT
           CourierNewPS-ItalicMT
           CourierNewPS-BoldItalicMT
           CourierNewPSMT
Courier
           Courier-Oblique
           Courier
           Courier-Bold
           Courier-BoldOblique
DB LCD Temp
           DBLCDTempBlack
Trebuchet MS
           TrebuchetMS-Italic
           Trebuchet-BoldItalic
           TrebuchetMS
           TrebuchetMS-Bold
Arial Rounded MT Bold
           ArialRoundedMTBold
Bangla Sangam MN
           BanglaSangamMN
           BanglaSangamMN-Bold
Telugu Sangam MN
           TeluguSangamMN
           TeluguSangamMN-Bold
American Typewriter
           AmericanTypewriter-Bold
           AmericanTypewriter
Arial
           ArialMT
           Arial-ItalicMT
           Arial-BoldMT
           Arial-BoldItalicMT
Hiragino Kaku Gothic ProN
           HiraKakuProN-W3
           HiraKakuProN-W6
AppleGothic
           AppleGothic
Heiti SC
           STHeitiSC-Light
           STHeitiSC-Medium
Malayalam Sangam MN
           MalayalamSangamMN-Bold
           MalayalamSangamMN
Thonburi
           Thonburi
           Thonburi-Bold
Helvetica
           Helvetica-BoldOblique
           Helvetica
           Helvetica-Oblique
           Helvetica-Bold
Futura
           Futura-CondensedExtraBold
           Futura-MediumItalic
           Futura-Medium
Gujarati Sangam MN
           GujaratiSangamMN-Bold
           GujaratiSangamMN
Heiti K
           STHeitiK-Medium
           STHeitiK-Light
Devanagari Sangam MN
           DevanagariSangamMN-Bold
           DevanagariSangamMN
Heiti TC
           STHeitiTC-Light
           STHeitiTC-Medium
Sinhala Sangam MN
           SinhalaSangamMN
           SinhalaSangamMN-Bold
Kannada Sangam MN
           KannadaSangamMN-Bold
           KannadaSangamMN
Georgia
           Georgia-BoldItalic
           Georgia-Italic
           Georgia-Bold
           Georgia
Heiti J
           STHeitiJ-Medium
           STHeitiJ-Light
Times New Roman
           TimesNewRomanPS-BoldMT
           TimesNewRomanPS-ItalicMT
           TimesNewRomanPS-BoldItalicMT
           TimesNewRomanPSMT
Geeza Pro
           GeezaPro
           GeezaPro-Bold
Helvetica Neue
           HelveticaNeue-Bold
           HelveticaNeue
Arial Hebrew
           ArialHebrew-Bold
           ArialHebrew
Zapfino
           Zapfino
Oriya Sangam MN
           OriyaSangamMN
           OriyaSangamMN-Bold
Cochin
           Cochin
           Cochin-BoldItalic
           Cochin-Italic
           Cochin-Bold
Baskerville
           Baskerville
           Baskerville-BoldItalic
           Baskerville-Italic
           Baskerville-Bold
Verdana
           Verdana-Bold
           Verdana-BoldItalic
           Verdana-Italic
           Verdana
Gurmukhi MN
           GurmukhiMN
           GurmukhiMN-Bold
Palatino
           Palatino-BoldItalic
           Palatino-Italic
           Palatino-Bold
           Palatino-Roman
Tamil Sangam MN
           TamilSangamMN-Bold
           TamilSangamMN
Marker Felt
           MarkerFelt-Wide
           MarkerFelt-Thin
Courier New
           CourierNewPS-BoldMT
           CourierNewPS-ItalicMT
           CourierNewPS-BoldItalicMT
           CourierNewPSMT
Courier
           Courier-Oblique
           Courier
           Courier-Bold
           Courier-BoldOblique
DB LCD Temp
           DBLCDTempBlack
Trebuchet MS
           TrebuchetMS-Italic
           Trebuchet-BoldItalic
           TrebuchetMS
           TrebuchetMS-Bold
Arial Rounded MT Bold
           ArialRoundedMTBold
Bangla Sangam MN
           BanglaSangamMN
           BanglaSangamMN-Bold
Telugu Sangam MN
           TeluguSangamMN
           TeluguSangamMN-Bold
American Typewriter
           AmericanTypewriter-Bold
           AmericanTypewriter
Arial
           ArialMT
           Arial-ItalicMT
           Arial-BoldMT
           Arial-BoldItalicMT
Hiragino Kaku Gothic ProN
           HiraKakuProN-W3
           HiraKakuProN-W6
AppleGothic
           AppleGothic
Heiti SC
           STHeitiSC-Light
           STHeitiSC-Medium
Malayalam Sangam MN
           MalayalamSangamMN-Bold
           MalayalamSangamMN
Thonburi
           Thonburi
           Thonburi-Bold
Helvetica
           Helvetica-BoldOblique
           Helvetica
           Helvetica-Oblique
           Helvetica-Bold
Futura
           Futura-CondensedExtraBold
           Futura-MediumItalic
           Futura-Medium
Gujarati Sangam MN
           GujaratiSangamMN-Bold
           GujaratiSangamMN
Heiti K
           STHeitiK-Medium
           STHeitiK-Light
Devanagari Sangam MN
           DevanagariSangamMN-Bold
           DevanagariSangamMN
Heiti TC
           STHeitiTC-Light
           STHeitiTC-Medium
Sinhala Sangam MN
           SinhalaSangamMN
           SinhalaSangamMN-Bold
Kannada Sangam MN
           KannadaSangamMN-Bold
           KannadaSangamMN
Georgia
           Georgia-BoldItalic
           Georgia-Italic
           Georgia-Bold
           Georgia
Heiti J
           STHeitiJ-Medium
           STHeitiJ-Light
Times New Roman
           TimesNewRomanPS-BoldMT
           TimesNewRomanPS-ItalicMT
           TimesNewRomanPS-BoldItalicMT
           TimesNewRomanPSMT
Geeza Pro
           GeezaPro
           GeezaPro-Bold
Helvetica Neue
           HelveticaNeue-Bold
           HelveticaNeue

Caso queiram testar eu utilizei o xCode 3.2.3 com o SDK 4.0.

Nas situações em que o dispositivo é rotacionado, precisamos identificar o estado dos objetos antes e principalmente após a rotação.
Para que isto aconteça, basta implementar os seguintes eventos:

//Antes de rotacionar
- (void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
 NSLog(@"Antes de rotacionar");
}

//Após rotacionar
- (void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
 NSLog(@"Após rotacionar");
}

Estes eventos podem ser muito utilizados para obter o frame dos objetos por exemplo, reposicionando e redimensionando os mesmos na tela, quando necessário.

Autor: Victor Hugo.

Pessoal,

O UIWebview é um componente bastante utilizado, mas apesar de que muita gente o utiliza para mostrar URL externas ao aplicativo, ele não mostra nenhum tipo de atividade de rede automaticamente e é exatamente isso que quero mostrar aqui como fazer, porque afinal é sempre bom dar algum feedback ao seu usuario.

Primeiro devemos declarar o UIWebViewDelegate no seu arquivo .h, e não esquecer de quando criarmos o componente especificarmos que sua propriedade delegate é igual a “self”.

Depois disso é só colocar no seu código esses dois metodos abaixo que um é chamado ao começar a atividade no website e o outro é chamado ao finalizar a atividade.

-(void)webViewDidStartLoad:(UIWebView *) portal {
   [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
}
-(void)webViewDidFinishLoad:(UIWebView *) portal{
   [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}

Esses dias eu precisei customizar o texto que aparece dentro do UISwitch em uma aplicação para o iPhone já que a Apple nos faz o favor que “teoricamente” limitar as opções ao simples ON/OFF.

Então aqui vai uma rotina para mudar para SIM/NÃO:

UISwitch *switchIndeterminado = [[UISwitch alloc] initWithFrame:CGRectMake(190, 210, 90, 30)];
[(UILabel *)[[[[[[switchIndeterminado subviews] lastObject] subviews]
objectAtIndex:2] subviews] objectAtIndex:0] setText:@”SIM”];
[(UILabel *)[[[[[[switchIndeterminado subviews] lastObject] subviews]
objectAtIndex:2] subviews] objectAtIndex:1] setText:@”NÃO”];
[self.view addSubview:switchIndeterminado];
Bom, é isso pessoal.

Core Elements:

Carrier Status bar – 320×20
UIView – 320×460
UINavigationBar – 320×44
UITabBar – 320×49
UISearchBar – 320×44
UIToolBar – 320×44

Data Input:

UIPickerView – 320×216
UIDatePicker – 320×216
UIKeyboard – 320×216

Buttons:

UISegmentedControl – 320×44
UIButton xx37

Fields:

UITextField – xx37
UISwitch 94×27
UISlider – xx23

Indicators:

UIProgressView -xx9
UIActivityIndicatorView – 37×37
UIPageControl – 38×36

Apple não embarcou na retórica da Google, mas contra-atacou com uma série de armas reais e competitivas que fazem a diferença.

“A Google e seus apoiadores bem que gostaram de tentar intimidar a Apple durante a conferência I/O da empresa há algumas semanas, soltando um mar de propaganda que ligava a Apple e sua plataforma iPhone à Coréia do Norte, como no mundo distopiano do comercial ‘1984′. Em sua própria WWDC, a Apple não embarcou na retórica da Google, mas contra-atacou com uma série de armas reais e competitivas que fazem a diferença”, diz Daniel Eran Dilger no RoughlyDrafted Magazine.

Para ele, o novo iPhone 4 e o iOS 4 — nome com que o sistema operacional da Apple para sua plataforma móvel foi rebatizado — evaporam o Android 2.2. Ele começa sua análise pelo fato de que, ao contrário do que ocorre em aparelhos Android, a multitarefa do iOS não exaure a bateria. “A Apple deixa muito claro que o iOS oferece multitarefa que realmente funciona, ao invés de um ambiente irrestrito que drena toda sua bateria. Nocaute 1 contra o Android”.

“No palco, Steve Jobs também falou do valor de criar um produto integrado, destacando o FaceTime e o iMovie como aplicações integradas para uso com as novas câmeras [do iPhone]. A Google não tem nenhum ímpeto em oferecer aplicações sofisticadas para o hardware que não está vendendo. Ela deixa isso por conta dos fabricantes de hardware, que são terríveis em criar software. Eis porquê, apesar de ter uma câmera melhor que a do iPhone 3GS, o Droid foi severamente criticado por não ser capaz de tirar fotos decentes, razão pela qual muita gente quer uma câmera em primeiro lugar ao invés de vangloriar-se pelas especificações do hardware. Nocaute 2 contra o Android”, avalia Dilger.

“O Nexus One mergulhou de barriga no mesmo besteirol raso da Microsoft com seu Zune HD: tela que só parece realmente boa em ambientes pouco iluminados e exóticas animações na tela que são boas para impressionar em apresentações, mas que são uma experiência desagradável ou pelo menos não-ótima para o usuário final. Tanto Google quanto Microsoft estão só tentando impressionar a imprensa, não seus usuários. Incidentalmente, essa é a razão por que ambas estão enaltecendo o Adobe Flash ao invés de explicar a seus clientes que um Flash Player de nível beta não vale o gasto de bateira ou de tempo. Nocaute 3 contra o Android”, alfineta Dilger.

Fonte: Apple Mania