sprite.setBlendFunc(gl.SRC_ALPHA, gl.ONE) doesn't work on Iphone simulator

sprite.setBlendFunc(gl.SRC_ALPHA, gl.ONE) doesn’t work on iPhone simulator
works on HTML5 version as lighter effect.
in JSB there is no error or anything on the console log but simply draw the image normally.

hi.
I got a same result in html5 and usb. I used cocos2d-x V3.0 alpha1.

i haven’t test it on v3.0 alpha1 yet.
i am running 2.2.1

just tested v3.0 alpha1, same result.
i’ve added one dummy sprite to test on the start scene.
The sprite draws a big white square (both 2.2.x & 3.0 alpha1)
If i change the 2nd parameter from gl.ONE to cc.BLEND_DST then it draws back properly to normal looks. (just to prove it works normally)
am i doing something wrong here? (all works perfectly under HTML5)

var blend = cc.Sprite.create(“res/images/background.png”);
blend.setBlendFunc(gl.SRC_ALPHA, gl.ONE);
blend.setPosition(cc.p(sys.gameWidth / 2, sys.gameHeight / 2));
this.addChild(blend, 0);

i manually add blend.setOpacityModifyRGB(true); after setBlendFunc and it all start working.
this is for my test sprite.

ok i guess the main problem comes. the actual sprite i use in game is child of spriteBatchNode.
i guess if its child of the spriteBatchNode it can not do setBlecnFunc separately? so for example 1 child has normal draw and 1 child has the lighter effect.
they are from same source of image.