实施' userNotificationCenter中的冲突参数类型:didReceiveNotificationResponse

时间:2018-01-14 14:23:08

标签: ios objective-c xcode push-notification

此错误刚刚开始弹出。这是错误还是更新?

// Handle notification messages after display notification is tapped by the user.
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler {

我的代码

// The method will be called on the delegate when the user responded to the notification by opening the application, dismissing the notification or choosing a UNNotificationAction. The delegate must be set before the application returns from application:didFinishLaunchingWithOptions:.
- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void(^)(void))completionHandler __IOS_AVAILABLE(10.0) __WATCHOS_AVAILABLE(3.0) __TVOS_PROHIBITED;

以前的定义(他们的代码)

    <form id="form" oninput="checkChange()" onchange="checkChange()">
    Particle<br>
    <div class="select" style="margin:auto;">
        <select id="particle">
            <option value="angryVillager">angryVillager</option>
            <option value="barrier">barrier</option>
            <option value="blockcrack">blockcrack</option>
            <option value="blockdust">blockdust</option>
            <option value="bubble">bubble</option>
            <option value="cloud">cloud</option>
            <option value="crit">crit</option>
            <option value="damageIndicator">damageIndicator</option>
            <option value="depthsuspend">depthsuspend</option>
            <option value="dragonbreath">dragonbreath</option>
            <option value="dripLava">dripLava</option>
            <option value="dripWater">dripWater</option>
            <option value="droplet">droplet</option>
            <option value="enchantmenttable">enchantmenttable</option>
            <option value="endRod">endRod</option>
            <option value="explode">explode</option>
            <option value="fallingdust">fallingdust</option>
            <option value="fireworksSpark">fireworksSpark</option>
            <option value="flame">flame</option>
            <option value="footstep">footstep</option>
            <option value="happyVillager">happyVillager</option>
            <option value="heart">heart</option>
            <option value="hugeexplosion">hugeexplosion</option>
            <option value="iconcrack">iconcrack</option>
            <option value="instantSpell">instantSpell</option>
            <option value="largeexplode">largeexplode</option>
            <option value="largesmoke">largesmoke</option>
            <option value="lava">lava</option>
            <option value="magicCrit">magicCrit</option>
            <option value="mobSpell">mobSpell</option>
            <option value="mobSpellAmbient">mobSpellAmbient</option>
            <option value="mobappearance">mobappearance</option>
            <option value="note">note</option>
            <option value="portal">portal</option>
            <option value="reddust">reddust</option>
            <option value="splash">splash</option>
            <option value="suspended">suspended</option>
            <option value="sweepAttack">sweepAttack</option>
            <option value="take">take</option>
            <option value="totem">totem</option>
            <option value="townaura">townaura</option>
            <option value="wake">wake</option>
            <option value="witchMagic">witchMagic</option>
        </select>
    </div><br><br>
    Horizontal speed: particles per 360 degree rotation<br>
    <input name="horizontal_speed" type="text" style="width:10%;" placeholder='60'><br><br>

    Density: 1-20 particles per second<br>
    <input name="density" type="text" style="width:10%;" placeholder='60'><br><br>

    Entity tags<br>
    <input name="entity_tags" type="text" style="width:90%;" placeholder='type=Player,name=Joeri'><br><br>
    <textarea id="output" type="text" style="width:50%;" placeholder='output' rows="15" cols="70"></textarea>
</form><br>                                 
<button id="submit" class="button" onclick="command()">Submit</button><br><br>
<script>
    document.getElementById('submit').onclick = command;    
    var submitButton = document.getElementById('submit');
    submitButton.onclick = command;

    function command() {
       event.preventDefault();
       submitButton.style.background = 'rgba(92,184,92,1)';
    }

    function checkChange(){ 
      submitButton.style.background = 'rgba(90,90,90,1.0)';
    }                                       
    function command(){                                     
        var form = document.getElementById("form");     
        var particle = form.elements["particle"].value; 
        var entity_tags = form.elements["entity_tags"].value;
        var density = form.elements["density"].value;
        if (entity_tags == ""){
            entity_tags = "type=Player";
        }
        var horizontal_speed = form.elements["horizontal_speed"].value;
        var command1 = '{id:commandblock_minecart,Command:"setblock ~command_x_position ~command_y_position ~ chain_command_block 5 replace {auto:1,Command:\\"execute @e[score_horizontal_min=horizontal_score,score_horizontal=horizontal_score] ~ ~ ~ particle insert_particle ~particle_x_position ~1 ~particle_z_position 0 0 0 0.01 1 force\\"}"}';
        var command2 = command1.replace('insert_particle', particle);

        var inserted_command = "";
        var command_x_position_turn = 0;
        var command_x_position_turn_count1 = 0;
        var command_x_position_turn_count2 = 0;
        for (var i = 1; i <= horizontal_speed; i++){                                            
            var rad = (2 * i * Math.PI)/(horizontal_speed);
            var particle_x_position = Math.round(Math.cos(rad) * 1000) / 1000;
            var particle_z_position = Math.round(Math.sin(rad) * 1000) / 1000;                  
            var horizontal_score = Math.round(1 + (i * (20/density)));
            if(((i + 9) % 10) == 0){
                command_x_position_turn++;
                if(i > 19){
                command_x_position_turn_count2 = command_x_position_turn_count2 + 2;
                }
            }
            else{
                command_x_position_turn--;
                command_x_position_turn_count1 = command_x_position_turn_count1 + 2;
            }
            if(command_x_position_turn == 1){                                               
                var command_x_position = 2 + i - (command_x_position_turn_count1 * 10);
            }
            else{   
                var command_x_position = 23 - i + (x_position_turn_count * 10);
            }                                           

            var add_x_position = command2.replace('particle_x_position', particle_x_position);
            var add_z_position = add_x_position.replace('particle_z_position', particle_z_position);
            var add_horizontal_score = add_z_position.replace('horizontal_score', horizontal_score);
            var add_command_x_position = add_horizontal_score.replace('command_x_position', command_x_position);
            inserted_command = inserted_command + add_command_x_position;
        }
        var final_command = 'summon falling_block ~ ~1 ~ {Block:stone,Time:1,Passengers:[{id:falling_block,Block:redstone_block,Time:1,Passengers:[{id:falling_block,Block:activator_rail,Time:1,Passengers:[{id:commandblock_minecart,Command:"gamerule commandBlockOutput false"},{id:commandblock_minecart,Command:"scoreboard objectives add horizontal dummy"},'
        + '{id:commandblock_minecart,Command:"setblock ~2 ~-3 ~ repeating_command_block 5 replace {auto:0,Command:\\"/scoreboard players add @e[insert_entity_tags] horizontal 10\\"}"},{id:commandblock_minecart,Command:"setblock ~1 ~-3 ~ lever 2 replace"},'
        + inserted_command
        + ',{id:commandblock_minecart,Command:"setblock ~ ~ ~1 command_block 0 0 {Command:\\"fill ~ ~-3 ~-1 ~ ~ ~ air\\"}"},{id:commandblock_minecart,Command:"setblock ~ ~-1 ~1 redstone_block"},{id:commandblock_minecart,Command:"minecraft:kill @e[type=commandblock_minecart,r=1]"}]}]}]}';
        var final_command_inserted__entitytags = final_command.replace('insert_entity_tags', entity_tags);
        document.getElementById('output').value = final_command_inserted__entitytags;


        document.getElementById("submit").style.background='rgba(92,184,92,1)';
    }
</script>                                   

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。我改成了:

- (void)userNotificationCenter:(UNUserNotificationCenter *)center 
didReceiveNotificationResponse:(UNNotificationResponse *)response 
         withCompletionHandler:(void (^)(void))completionHandler;

现在警告消失了。

答案 1 :(得分:0)

为您提供信息,来自https://forums.developer.apple.com/thread/78855

  

相同。但是按照这个链接的规范,我添加了#34; void&#34;在空   括号,它很高兴   https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/SchedulingandHandlingLocalNotifications.html

     

(void(^)(void))completionHandler ...