Ir para conteúdo
  • Cadastre-se

Artur Felipe

Membros
  • Total de itens

    187
  • Registrou-se em

  • Última visita

Posts postados por Artur Felipe


  1. então lhe adianto que não é possivel fazer esse tipo de app oficialmente, precisaria de jailbreak e alteração no sistema provavelmente fazendo algumas injeções de código em modo runtime.

    até porque enquanto o usuário está usando, quando o sistema necessitar de memória o primeiro app que dança é o seu que estiver em background, e dependendo do que queira fazer com as ligações pode ser impossível com o sdk atual ... coisas como gravar as ligações por exemplo, pois o app das ligações bloqueia os recursos de microfone e auto-falantes.

    talvez, necessitaria de uma pesquisa mais a fundo pra verificar, se desenvolver um hardware que acople ao telefone pela porta dock possa ser possível, dependendo dos recursos que tenhas disponível.


  2. sim, basta usar o CoreTelephony framework ....


    callCenter = [[CTCallCenter alloc] init];
    callCenter.callEventHandler = ^(CTCall* aCallIncomming) {
    // anounce that we've had a state change in our call center
    NSDictionary *dict = [NSDictionary dictionaryWithObject:aCallIncomming.callState forKey:@"callState"];
    [[NSNotificationCenter defaultCenter] postNotificationName:@"CTCallStateDidChange" object:self userInfo:dict];
    };

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(ctCallStateDidChange:) name:@"CTCallStateDidChange" object:nil];


    - (void)ctCallStateDidChange:(NSNotification *)notification
    {
    NSString *callInfo = [[notification userInfo] objectForKey:@"callState"];
    if ([callInfo isEqualToString:CTCallStateIncoming]) {
    NSLog(@"do something ...");
    }
    }
    [/CODE]


  3. faz algo assim ...

    
    //Crie uma tag única para cada objeto que será manipulado.
        static NSUInteger const kNameLabelTag = 2;
    
        //Declaração das Labels.
        UILabel *nameLabel = nil;
    
    	//Identidade de cada Cell.
        static NSString *CellIdentifier = @"LocationCell";
    
    	//Cria uma Cell com a identidade e atribui ao ponteiro uma celula com a identidade usada.  
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    
    	if (cell == nil) {
            // Não Tem Celulas na tela para reuso, então criamos.
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                          reuseIdentifier:CellIdentifier];
    
            //Local na celula onde vai ser iniciado o frame.
            nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(25, 3, 190, 20)];
            nameLabel.tag = kNameLabelTag;
            nameLabel.font = [UIFont boldSystemFontOfSize:14];
            nameLabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
    		//adiciona ao subview.
            [cell.contentView addSubview:nameLabel];
        } else {
            // tem uma célula na tela disponível para reuso
            nameLabel = (UILabel *)[cell.contentView viewWithTag:kNameLabelTag];
        }
    
    	//Recupere o dado da celula que vai exibir …
        Location *managedObject = (Location *)[self.fetchedResultsController objectAtIndexPath:indexPath];
    
        //atribua o valor ao label custom.
        nameLabel.text = [NSString stringWithFormat:@"%@%@", @"", managedObject.name];
    
        //Adiciona uma setinha em cada tela pra dizer ao usuário que uma ação pode ser tomada.
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    
        return cell;
    
    

    para muitos labels ou quaisquer objetos na custom cell o melhor é atribuir tags a cada um, assim vc tem como identificar qual objeto é qual quando for atribuir um ponteiro para cada objeto na célula.

    obs.: estou usando o ARC do IOS 5 sdk, adicione os autorelease e releases necessários para SDK mais antigos. ;)


  4. Eu estou tentando instalar o PostegreSQL aqui e tá dando erro no finalzinho da instalação. Afirma que não consegue inicializar o cluster. E com isso não conclui a instalação.

    O que deve ser e alguém teria alguma idéia de como posso arrumar isso? Estou necessitando do postgre pra minha cadeira de banco de dados 2 na faculdade.

    Já tentei instalar a versão 8.4 e nada também, mesmo erro.

    deve ser no pos instalação na hora de configurar o usuário padrão do post ... tente o procedimento descrito nesse link: http://www.azattis.com/2011/07/os-x-lion-postgresql-84-install-problem.html


  5. Bom dia a todos!

    Estou tentando instalar e rodar o Xcode em uma virtual machine com o Lion, porém quando abro o app ele dá crash e não abre. tentei de varias formas fazer funcionar mas nao consegui. Eu tenho a necessidade de "instalar" o mac em um pc, pois eu tenho um mac mas meu amigo que irá estudar junto comigo não tem, tentei instalar o lion no virtual box 4 mas nao consegui, só consegui na vmware.

    Gostaria de uma ajuda de voces, alguem que tenha uma solução para que a gente possa montar esse grupo de estudos. Em resumo as minhas dúvidas seriam:

    - Tem como programar em uma VM utilizando o lion?

    - tem como programar direto no windows com algum compilador ou algo do genero?

    Obrigado a todos.

    1 - deveria funcionar normal dependendo de quanto recurso vc redirecione para a vm e a vm do osx só vai rodar em outro mac, não vai rodar em pc. Tem tutoriais na net com gambiarras para vc montar uma que rode mas normalmente vc altera arquivo de sistemas que vai impossibilitar vários recursos e dar bug em outros.

    2 - não tem como programar pelo windows, vc pode instalar por hackintosh mas dá dor de kbça demais, o melhor é seu amigo comprar um mac.


  6. no itunes vá em preferences, general, clicka no botão import settings e escolhe o formato Apple LossLess encoder ou wav ... ou se preferir mp3 aumenta para 320kbps vbr, vai ficar mesma qualidade do cd praticamente nas 2 primeiras opções ...


  7. rapaz eu uso mais pra entrar na internet sabe mas acho que o quanto eu uso não é o bastante pra gastar oq está gastando de bateria vc pode me dizer quanto geralmente dura a bateria do iphone cheia?

    navegar na internet 3g direto acredito que esgote a bateria em umas 5 hrs, a apple pela tabela te diz em média 7 hrs ... 3g consome bateria pra kcte em qualquer telefone, o iphone é um dos celulares com maior autonomia em 3g ... tenho também um galaxy s2 e se eu começar a navegar em 3g nele deve durar em média 5 a 6 hrs no maximo ... :)


  8. os modelos de bateria usados pela apple a muito tempo não necessitam mais dessa carga de 12 horas inicial, alias muito poucos celulares atuais precisam ... não faz diferença com o material das baterias mais recentes ...

    quao muito é pra vc a bateria não estar durando ? como vc esta usando ... quanto mais vc usa logicamente mais gasta bateria.

    a média da apple é :

    Talk time:

    Up to 7 hours on 3G

    Up to 14 hours on 2G (GSM model only)

    Standby time: Up to 300 hours

    Internet use:

    Up to 6 hours on 3G

    Up to 10 hours on Wi-Fi

    Video playback: Up to 10 hours

    Audio playback: Up to 40 hours

    aqui o standby com wifi, 3g ligados a bateria dura em média umas 48 hrs ... se não receber ligação ou ligar ...


  9. Olá!

    Desculpe não poder responder sua pergunta, mas não possuo nenhum conhecimento acerca de Tweaks para o Cydia. Por isso mesmo gostaria de saber como começar a estudar o assunto. Como você começou? Sei que preciso entender sobre Mobile Substrate, mas não tenho muita noção do que seja isso. Preciso de algum ambiente de desenvolvimento diferente do iPhone SDK? Outros Frameworks? Você tem algum tutorial para iniciantes a indicar?

    Obrigado pela atenção!

    Mobile Substrate é um pequeno conjunto de livrarias dinâmicas programado pelo saurik, o que essas livrarias fazem são adicionar funcionalidades a programas que vc não tem o fonte por exemplo ... como uma extensão para o programa. Com isso o Mobile Substrate adiciona uma .dylib extra programada por terceiros a um app da apple rodando no ios por exemplo, quando tal app for iniciado a livraria é injetada no meio do código do app e sua funcionalidade extra vai para o aplicativo, assim que fizeram varios programas que se integram ao sistema em iphone jailbreak o Mobile Substrate seria uma dependência para varios deles.

    sobre como desativar o botão de mudo ou remapear os botões fisicos não tenho idéia no momento mas estou pesquisando sobre tb :)


  10. se o usuário vai inserir dados em 2 ou mais uitextfield ... pra min o método mais facil é verificar qual ele está inserindo no momento seria pelo isFirstResponder ... basicamente vc procura quem está com o "foco" no momento ...

    if ([textValue isFirstResponder]) {

    formatação do primeiro textfield

    }

    else if ([textValue2 isFirstResponder]) {

    formatação do segundo textfield

    }

    e por ai vai ...


  11. Tem 2 pontos, Auto-formatação e Validação de Input, pelo texto do post acredito que vc queira validação de Input apesar do titulo falar em formatação ... enfim mais pro final vou por um exemplo de Auto-formatação.

    No header vc declara que vai ser o delegate do text field ...

    #import <UIKit/UIKit.h>
    
    @interface ViewController : UIViewController<UITextFieldDelegate>
    {
    
        UITextField *textValue;
    }
    
    @property (strong, nonatomic) IBOutlet UITextField *textValue;
    
    
    @end
    
    

    no arquivo .m vc adiciona

    - (void)viewDidLoad
    {
        textValue.delegate = self;
    
        [super viewDidLoad];
    }
    

    e pode usar o método do delegate abaixo ... no caso o método abaixo vai limitar a string no UITextfield a 6 caracteres ...

    - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
    {
        NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
        return !([newString length] > 6);
    }
    
    

    de resto só fazer as validações que vc necessita ... se precisar autoformatar um preço por exemplo ...

    
    - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:
    (NSRange)range replacementString:(NSString *)string {
        double currentValue = [ViewController removeFormatPrice:textField.text];
        double cents = round(currentValue * 100.0f);
    
        if (([string isEqualToString:@"."]) && ((int)currentValue == 0)) {
            cents = floor(cents * 100);
        } else if ([string length]) {
            for (size_t i = 0; i < [string length]; i++) {
                unichar c = [string characterAtIndex:i];
                if (isnumber(c)) {
                    cents *= 10;
                    cents += c - '0'; 
                }            
            }
        } else {
            // back Space
            cents = floor(cents / 10);
        }
    
        NSString *str = [NSString stringWithFormat:@"%f", cents];
        if ([str length] > 15) {
            NSString *newStr = [str substringFromIndex:1];
            cents = [newStr doubleValue];
        }
    
        textField.text = [ViewController addFormatPrice:[[NSString 
                                                          stringWithFormat:@"%.2f", cents / 100.0f] doubleValue]];
    
        return NO;
    
    }
    
    +(NSString*)addFormatPrice:(double)dblPrice {   
        NSNumber *temp = [NSNumber numberWithDouble:dblPrice];
        NSDecimalNumber *someAmount = [NSDecimalNumber decimalNumberWithDecimal: [temp decimalValue]];   
        NSNumberFormatter *currencyFormatter = [[[NSNumberFormatter alloc] init] autorelease];
    
        //NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init];  //use assim se não estiver usando o Arc do IOS5
        [currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];    
        return [currencyFormatter stringFromNumber:someAmount];
    }
    
    +(double)removeFormatPrice:(NSString *)strPrice {   
        NSNumberFormatter *currencyFormatter = [[[NSNumberFormatter alloc] init] autorelease]; 
    
        //NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init];  //use assim se estiver usando o Arc do IOS5
    
    
        [currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
        NSNumber* number = [currencyFormatter numberFromString:strPrice];
        return [number doubleValue];
    }
    
    
    


  12. no arquivo funcoes.h vc tem que ter um cabeçalho do método ... dentro da interface ...

    @interface funcoes : NSObject

    - (void)mensagemLog;

    @end

    ai nos outros arquivos vc simplesmente importa esse header ...

    #import "funcoes.h"

    e usa ...

    funcoes *func = [[funcoes alloc]init];

    [func mensagemLog];

    se não for usar mais e nao estiver usando o ARC no IOS 5 SDK ...

    [func release];


  13. Quando o usuário clicka no home o app vai ao estado de backgound, não fecha necessariamente, só é fechado se o sistema precisar de memória e seu app for o proximo da fila pra descarregar ...

    se quiser que quando clickar home o seu app feche obrigatoriamente vc pode desabilitar o background adiciona no info.plist da aplicação a chave "Application does not run in background" Type: Boolean Value: Yes.

    Quando o usuário clickar em home, sua aplicação será fechada imediatamente.

×
×
  • Criar Novo...