Guys find it more difficult to approach you in public because they are afraid to make you uncomfortable in front of other people.
They are as well afraid of being rejected in public.
So if you give them signals that you won't reject them, it will be easier for them to approach you.
Show them that you are open.
To simply be more attractive, here is what you can do:
Play with your eyes!
Sustain eye contact for 2, 3 seconds.
Be fun to be with!!!
I don't mean frivolousof course!
Simply let him see that you enjoy life.
Inner freedom is extremely attractive for a guy.
Show him that you enjoy life deep inside and that your pleasure can't be challenged or destroyed.
Be sexy and take care deep care of yourself.
Don't worship him like a god, tease him instead.
Be confident and take risks (Don't put your life, health or future in danger though :)).
Try simple steps like talking to anyone in social situations.
Be active and fun in social situations.
Don't be exclusive with him or clingy.
Stay active, open and excited about life beyond the limits of what you share with him.