Wednesday 20 January 2016

This build is invalid on itunesconnect

Please follow bellow steps to encounter the issue.


  • Upgrade latest OS X
  • Use latest XCODE version 
  • Verify app icons in bundle or  in Assets.xcassets. (mostly issue due to dose not added proper size of  icons, even you missed any single icon then also getting this type error)
  • Verify provisioning profile 
  • Use Latest Application Loader for submit package (ipa)



Happy coding! 



Bhavesh Kumbhani
IOS Software Professional 

follow on
Facebook
LinkedIn


Wednesday 13 January 2016

Apple Push Notification PHP script

<?php
    
    // set time limit to zero in order to avoid timeout
    set_time_limit(0);
    
    // charset header for output
    header('content-type: text/html; charset: utf-8');
    
    // this is the pass phrase you defined when creating the key
    $passphrase = 'test';
    
    // you can post a variable to this string or edit the message here
    if (!isset($_POST['msg'])) {
        $_POST['msg'] = "Test msg!";
    }
    
    // tr_to_utf function needed to fix the Turkish characters
    $message = tr_to_utf($_POST['msg']);
    
    // load your device ids to an array
    $deviceIds = array(
                       'devicetoken1',
                       'devicetoken2'
                       );
    
    // this is where you can customize your notification
    $payload = '{"aps":{"alert":"' . $message . '","sound":"default"}}';
    
    $result = 'Start' . '<br />';
    
    ////////////////////////////////////////////////////////////////////////////////
    // start to create connection
    $ctx = stream_context_create();
    stream_context_set_option($ctx, 'ssl', 'local_cert', 'apns.pem');
    stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
    
    echo count($deviceIds) . ' devices will receive notifications.<br />';
    
    foreach ($deviceIds as $item) {
        // wait for some time
        sleep(1);
        
        // Open a connection to the APNS server
        $fp = stream_socket_client('ssl://gateway.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT, $ctx);
        
        if (!$fp) {
            exit("Failed to connect: $err $errstr" . '<br />');
        } else {
            echo 'Apple service is online. ' . '<br />';
        }
        
        // Build the binary notification
        $msg = chr(0) . pack('n', 32) . pack('H*', $item) . pack('n', strlen($payload)) . $payload;
        
        // Send it to the server
        $result = fwrite($fp, $msg, strlen($msg));
        
        if (!$result) {
            echo 'Undelivered message count: ' . $item . '<br />';
        } else {
            echo 'Delivered message count: ' . $item . '<br />';
        }
        
        if ($fp) {
            fclose($fp);
            echo 'The connection has been closed by the client' . '<br />';
        }
    }
    
    echo count($deviceIds) . ' devices have received notifications.<br />';
    
    // function for fixing Turkish characters
    function tr_to_utf($text) {
        $text = trim($text);
        $search = array('Ü', 'Þ', 'Ð', 'Ç', 'Ý', 'Ö', 'ü', 'þ', 'ð', 'ç', 'ý', 'ö');
        $replace = array('Ãœ', 'Åž', '&#286;ž', 'Ç', 'Ä°', 'Ö', 'ü', 'ÅŸ', 'ÄŸ', 'ç', 'ı', 'ö');
        $new_text = str_replace($search, $replace, $text);
        return $new_text;
    }
    
    // set time limit back to a normal value
    set_time_limit(30);

    ?>