Ir para conteúdo
  • Cadastre-se

Gabriel Vincent

Membros
  • Total de itens

    279
  • Registrou-se em

  • Última visita

Tudo que Gabriel Vincent postou

  1. Consegui a resposta pra essa pergunta. Quem estiver pesquisando isso e cair nesse tópico, tá aqui a resposta: http://stackoverflow.com/questions/8926107/continue-audio-playback-when-iphone-is-locked-like-ipod-app
  2. Obrigado pela resposta, mas não, isso não funciona. Isso é para continuar tocando o áudio do iPod.
  3. Olá a todos! Estou precisando fazer meu app continuar a tocar o áudio que ele reproduz mesmo após o usuário bloquear a tela ou que o iPhone se auto-bloqueie. Já tentei coisas como: UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback; AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (sessionCategory), &sessionCategory); AudioSessionSetActive(true); [/CODE] ou: [CODE] NSError *sessionError = nil; [[AVAudioSession sharedInstance] setDelegate:self]; [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&sessionError]; [[AVAudioSession sharedInstance] setActive:YES error:nil]; [/CODE] Mas nada disso funciona. Não encontrei nenhum outro método para fazer isso na internet. Nem mesmo o Stack Overflow foi capaz de me ajudar. Espero que aqui alguém possa. Obrigado, Gabriel Vincent
  4. Olá, Victor, A forma mais segura de fazer isso é fazer uma requisição HTTP. Baixe essa biblioteca: http://allseeing-i.com/ASIHTTPRequest/ que tem tudo o necessário para fazer comunicações entre seu app e seu servidor. Será necessária também alguma linguagem web para pegar as informações do seu DB e enviar de volta ao app. A documentação dessa biblioteca é muito completa e útil.
  5. Não tenho certeza, mas vê se no programa PHP, se vc fizer isso: $new = htmlspecialchars($stringComCharsEspeciais, ENT_DISALLOWED); [/CODE] Quanto a ser case sensitive, antes de passar pro PHP, faça assim: [CODE] string = [string lowercaseString]; [/CODE]
  6. Sim, através de: NSData *response = [NSURLConnection sendSynchronousRequest: request returningResponse: nil error: nil]; NSString *stringResponse = [[NSString alloc] initWithData: response encoding: NSUTF8StringEncoding]; NSLog(@"Response: %@", stringResponse); [/CODE] Isso vai receber o output do script PHP
  7. Esconder a tabBar não é a coisa mais indicada a se fazer. Tem muita coisa melhor que você pode fazer. Primeiro de tudo, você tem uma TabBar com algumas tabs. Na segunda tab tem um ViewController com um botão que, quando clicado, dá aquele efeito de flip à view principal e aparece outra view, certo? Essa nova view tem um botão voltar que você quer que seja a única opção de volta à view original. Mas quando o usuário sai daquela tab na TabBar e depois retorna a ela, o app quebra, é isso? Não faz muito sentido. Não tem porque ele estar quebrando. Você pode postar um pouco de código e algumas screenshots pra ficar um pouco mais claro?
  8. Muito provavelmente é, mas não saberia dizer como, desculpe =/
  9. Em objective-C, faça assim no método que enviará o email: NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: [NSURL URLWithString:[NSString stringWithFormat:@"http://seudominio.com.br/enviaremail.php?nomeDoAmigo=%@&nomeDoUsuario=%@&emailDoAmigo=%@&linkDoApp=%@&emailDoUsuario=%@", nomeDoAmigo, nomeDoUsuario, emailDoAmigo, linkDoApp, emailDoUsuario]]]; [request setHTTPMethod: @"GET"]; NSData *response = [NSURLConnection sendSynchronousRequest: request returningResponse: nil error: nil]; NSString *stringResponse = [[NSString alloc] initWithData: response encoding: NSUTF8StringEncoding]; NSLog(@"Response: %@", stringResponse); [/CODE] Aí você pede pro seu programador PHP criar um script PHP no seudominio.com.br/enviaremail.php Diz pra ele pra, caso o email seja enviado com sucesso, que ele dê um [font=arial,helvetica,sans-serif][size=4][font=courier new,courier,monospace]echo "enviado"; [font=arial,helvetica,sans-serif]para que você receba no iOS a confirmação de que o email foi enviado.[/font][/font][/size][/font]
  10. Ah, então pra isso, faz: - (BOOL)webView:(UIWebView*)WebView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType { NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location"]; NSString *status = [NSString stringWithFormat:@"Open \"%@\" in a new tab or window", currentURL]; return YES; } [/CODE]
  11. Esqueci de dizer: em viewController.h, crie o método para linkar com um botão no interface builder: - (IBAction)showPicker:(id)sender; [/CODE] A não ser que você queira que o método seja chamado de outra forma que não permita a interação com o interface builder. Aí você cria o método em viewController.m como void e não precisa criá-lo em viewController.h: [CODE] - (void) showPicker { //Aqui o código é igual a se fosse uma IBAction } [/CODE]
  12. Você diz o título de uma página? Aquilo que fica escrito nas tabs do safari? para que isso funcione, você precisa devifinr no seu viewController.h que ele é delegate de UIWebView: #import <uikit uikit.h=""> @interface viewController : UIViewController <uiwebviewdelegate> @end [/CODE] depois disso, em viewController.m adiciona esse método: [CODE] - (void)webViewDidFinishLoad:(UIWebView *)webView{ NSString *theTitle=[webView stringByEvaluatingJavaScriptFromString:@"document.title"]; } [/CODE] Peraí, você tá falando de programação pra iOS ou pra Mac?
  13. Primeiro de tudo, adicione o framework necessário: Vai nas configurações do projeto (logo no topo da,lista de classes no XCode). Clique no ícone do seu app, em "Targets" > Build Phases > expanda "Link binary with libraries" > pesquise por "MessageUI" (sem aspas) > selecione o framework e clique em "Add". Agora informe ao viewController.h onde o form de email será mostrado que ele é delegate de <MFMailCompose e adicione as bibliotecas necessárias. #import <UIKit/UIKit.h> #import <MessageUI/MessageUI.h> #import <MessageUI/MFMailComposeViewController.h> @interface viewController : UIViewController <MFMailComposeViewControllerDelegate> @end [/CODE] Adicione os seguintes métodos no seu viewController.m: [CODE] // Launches the Mail application on the device. -(void)launchMailAppOnDevice { NSString *recipients = @"mailto:first@example.com?cc=second@example.com,third@example.com&subject=Hello from California!"; NSString *body = @"&body=It is raining in sunny California!"; NSString *email = [NSString stringWithFormat:@"%@%@", recipients, body]; email = [email stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:email]]; } #pragma mark - #pragma mark Compose Mail // Displays an email composition interface inside the application. Populates all the Mail fields. -(void)displayComposerSheet { MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; picker.mailComposeDelegate = self; // Set up recipients NSArray *toRecipients = [NSArray arrayWithObject:@"emailDoAmigo@exemplo.com.br"]; [picker setToRecipients:toRecipients]; [color=#8d5f25] [color=#ffffff][p[/color][color=#1e9dcc]setSubject[/color][color=#ffffff]:[/color]@"Seu amigo te indicou um app!"[color=#ffffff]];[/color][/color][color=#8d5f25] [color=#ffffff][p[/color][color=#1e9dcc]setMessageBody[/color][color=#ffffff]:[/color]@"Olá, amigo do Fulano! Ele te indicou este app aqui: http://linkDOSeuApp.com.br"[color=#ffffff] [/color][color=#1e9dcc]isHTML[/color][color=#ffffff]:[/color][color=#c04f53]YES[/color][color=#ffffff]];[/color][/color] [self presentModalViewController:picker animated:YES]; } // Dismisses the email composition interface when users tap Cancel or Send. Proceeds to update the message field with the result of the operation. - (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error { [self dismissModalViewControllerAnimated:YES]; } -(IBAction)showPicker:(id)sender { // This sample can run on devices running iPhone OS 2.0 or later // The MFMailComposeViewController class is only available in iPhone OS 3.0 or later. // So, we must verify the existence of the above class and provide a workaround for devices running // earlier versions of the iPhone OS. // We display an email composition interface if MFMailComposeViewController exists and the device can send emails. // We launch the Mail application on the device, otherwise. Class mailClass = (NSClassFromString(@"MFMailComposeViewController")); if (mailClass != nil) { // We must always check whether the current device is configured for sending emails if ([mailClass canSendMail]) { [self displayComposerSheet]; } else { [self launchMailAppOnDevice]; } } else { [self launchMailAppOnDevice]; } } [/CODE] Vamos focar na parte que é importante pra você: [CODE] -(void)displayComposerSheet { MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; picker.mailComposeDelegate = self; // Set up recipients NSArray *toRecipients = [NSArray arrayWithObject:@"iluno@deaaz.com.br"]; [picker setToRecipients:toRecipients]; [picker setSubject:@"Seu amigo te indicou um app!"]; [picker setMessageBody:@"Olá, amigo do Fulano! Ele te indicou este app aqui: http://linkDOSeuApp.com.br" isHTML:NO]; [self presentModalViewController:picker animated:YES]; } [/CODE] É aqui onde você seta o destinatário do email, o assunto do email a ser enviado e o corpo da mensagem. As strings você trabalha da forma que achar melhor. Ali em [font=courier new,courier,monospace][picker setMessageBody:@"Olá, amigo do Fulano! Ele te indicou este app aqui: http://linkDOSeuApp.com.br" isHTML:NO]; [font=arial,helvetica,sans-serif][size=3][size=4]você pode escolher entre enviar um email HTML ou não. Mas lembrando que se você enviar um email HTML, a string com o corpo da mensagem deve ser um código HTML.[/size][/size][/font][/font] [font=courier new,courier,monospace][font=arial,helvetica,sans-serif][size=3][size=4]Não é necessário definir o email do remetente porque o app vai enviar o email através da conta padrão do usuário, definida nas configurações (a mesma conta que ele usa no Mail App).[/size][/size][/font][/font]
  14. Não tem com "resetar" a webView, apagar o histórico de navegação. Dá sim, pra criar 2 webViews. Logo no viewDidLoad, antes de qualquer coisa (considerando que ambas as webViews foram declaradas no seu .h) : webView2 = webView1; webView2.hidden = YES; [/CODE] Isso vai esconder a webView2 e você vai usando a webView1 Aí você usa a webView1 até o momento em que você quer "resetá-la". Nesse momento você para de usar a webView1 e usa a webView2: [CODE] webView1.hidden = YES; webView2.hidden = NO; [webView2 loadRequest...]; [/CODE]
  15. Não andar pra frente nem para trás é algo que depende de você implementar um botão que chame esse método ou não, portanto, você pode bloquear esse método a hora que você quiser, assim o usuário não vai mais poder navegar pra frente e nem pra trás. Pra deixar a tela branca: [webView loadHTMLString:@"" baseURL:[NSURL URLWithString:nil]]; [/CODE]
  16. Você tem razão. Agora que o próprio iOS administra o gerenciamento de memória, isso não funciona. O que exatamente você quer? Você quer que quando o webView chegue a uma determinada página ele não possa mais voltar ou avançar?
  17. Beleza, consegui fazer funcionar. Agora tenho outro problema: esse formato que você me passou [df setDateFormat:@"eee, dd MMM yyyy HH:mm:ss ZZZZ"]; só funciona se eu setar a timezone pros EUA: [df setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]]; e isso faz com que minha hora apareça com uma diferença de fuso-horário. Não tem outro formato desse tipo pra transformar string em NSDate que seja compatível com a timezone do Brasil?
  18. ah, sim, é que você tem que reccaregar sua página: UIWebView *webView = [[UIWebView alloc] init]; [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.paginaASerCarregada.com.br"]]]; [/CODE]
  19. Rodolfo, não sei se você já desenvolve. Se não e quer só aprender, não pague nada por enquanto.Se cadastra do developer center ( http://developer.apple.com/devcenter/ios/index.action ) e baixa o SDK. Começa a aprender e quando você já estiver com algo pronto pra Appstore, que você acha que já vale o investimento dos US$ 99, aí você paga. O processo é até bem rápido e 100% seguro. No meu caso, nem usei um aparelho de fax (pela falta de acesso a um). Usei este site: ( http://faxzero.com/ ). É só escanear o formulário devidamente preenchido e usar o site que tudo funciona.
  20. Você quer saber como faz isso num projeto de App pra iOS ou pro WebApp? No caso do WebApp é automático. Sempre que algo estiver carregando vai aparecer aquele indicador de atividade na status bar. Num app para iOS, para mostrar o indicador, faça o seguinte: Para começar: [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; [/CODE] E quando você quiser que ele pare: [CODE] [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; [/CODE]
×
×
  • Criar Novo...