App para Android com 2ªs intenções

29th
Jul 10

Milhões de pessoas fizeram download de uma App de Wallpapers para o Android que em segundo plano a App recolhia dados pessoais do equipamento e enviava para um site na China…. OUCH!!!

A app desenvolvida por Jackeey Wallpaper pode/podia ser encontrada no Android Market, e após a sua instalação no telemóvel recolhia informações tais como: histórico de navegação, SMS’s, número do cartão SIM, etc…

Começa a ser um problema a acontecer com alguma frequência nas Online Store para mobile. Não é caso único no Android Market, e até mesmo na App Store já houve alguns casos de uso fraudulento, e até mesmo de app’s que utilizavam recursos privados, – para fornecer de forma escondida – ao utilizar funções que de outra forma não estariam disponíveis.

Não sei muito bem qual poderá ser uma solução para este problema, mas serve de alerta…

Visto em: MobileBeat

Publicado em Apps, Tech | Tags , | Deixar comentário

Slide to Unlock…

29th
Jul 10

Publicado em Descansar os olhos | Tags , | Deixar comentário

UILabel Align on Top

29th
Jul 10

Ontem durante mais uma noitada de volta do Cocoa, descobri uma coisa que me parece algo absurda.

Precisei de utilizar uma UILabel para conter uma string, mas à partida nunca sei o tamanho da string… e quero que a string esteja sempre alinhada no topo da UILabel, tenha ela uma ou várias linhas. No entanto – e de forma algo bizarra – isto é impossível de fazer com um simples atributo do objecto.

Então houve necessidade de recorrer um pouco ao engenho e ficou algo deste tipo:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
   static NSString *CellIdentifier = @"FollowingCell";
   UILabel *myLabel;
 
   UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
 
   if (cell == nil)
   {
      cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
      cell.contentView.backgroundColor = [UIColor whiteColor];
      myLabel = [[[UILabel alloc] initWithFrame:CGRectMake(54.0f, 20.0f, 220.0f, 90.0f)] autorelease];
      myLabel.font = [UIFont systemFontOfSize:13.0];
      myLabel.tag = MY_TAG;
      myLabel.textColor = [UIColor blackColor];
      myLabel.lineBreakMode = UILineBreakModeWordWrap;
      myLabel.numberOfLines = 10;
      [cell.contentView addSubview:myLabel];
   } else {
      myLabel = (UILabel *)[cell.contentView viewWithTag:MY_TAG];
   }
 
   myLabel.text = myDataSource.myText;
   CGRect myLabelRect = [myLabel textRectForBounds:myLabel.bounds limitedToNumberOfLines:999];
   CGRect newHeight = myLabel.frame;
   newHeight.size.height = myLabelRect.size.height;
   myLabel.frame = newHeight;
 
   return cell;
}

Talvez tenham necessidade de implementar também este próximo método para que a altura da célula se adapte à quantidade de texto existente:

- (CGFloat) tableView: (UITableView *) tableView heightForRowAtIndexPath: (NSIndexPath *) indexPath
{
   MyDataSource *myDataSource = [fetchedResultsController objectAtIndexPath:indexPath];
 
   NSString *text = myDataSource.myText;
   CGFloat height = [text sizeWithFont:[UIFont systemFontOfSize:14] constrainedToSize:CGSizeMake(220,200) lineBreakMode:UILineBreakModeWordWrap].height;
 
   return height+25;
}

E desta forma tenho uma UILabel em cada célula da tabela que independentemente da quantidade de texto que contém, adapta-se em altura de forma a “acomodá-lo” e colocar sempre o texto alinhado no topo.

Esta solução não é inteiramente da minha autoria. Encontrei já nem sei onde um “pedaço” de código para alinhar em baixo para uma dada quantidade de linhas, e aproveitei para modificá-lo e adaptar às minhas necessidades.

Espero que seja útil para mais alguém…

Publicado em Código, iOS Dev | Tags , , , | 2 Comentários

Guia da iTunes Connect actualizado

29th
Jul 10

A Apple lançou mais uma versão do seu Guia de utilização da iTunes Connect, com várias alterações… e em especial:

  • Como utilizar o novo Version Release Control e “agendar” o lançamento da aplicação na App Store
  • Utilizar o novo Application Loader para submissão de App’s
  • Utilização do Game Center

Download do iTunes Connect Developer Guide.

Publicado em Apple | Tags , , , | Deixar comentário

iPhone-Simulator Cropper

29th
Jul 10

Tirar screenshots da nossa App para publicidade, marketing, iTunes Connect, etc… é muitas vezes uma tarefa chata e morosa. No entanto um programador decidiu que esta tarefa poderia ficar um pouco mais fácil e intuitivo de fazer.

iPhone-Simulator Cropper é um script que permite tirar de forma rápida os screenshots directamente no Simulador. E ainda tem a vantagem de se poder optar por remover a StatusBar ou não.

O download é gratuito e suporta tanto a versão iPhone como a versão iPad… em simulador.

Download do iPhone-Simulator Cropper.

Publicado em Apps, iOS Dev | Tags , , , , | Deixar comentário

You like this…

28th
Jul 10

Publicado em Descansar os olhos | Tags , | Deixar comentário