2015/08/26 関西モバイルアプリ研究会 #5 (Kyoto)
Sample: https://github.com/iseebi/J2ObjCSample
:FU"OPUIFS$SPTT1MBUGPSN%FWFMPQNFOU!JTFFCJؔϞόΠϧΞϓϦݚڀձ 8FE
View Slide
!JTFFCJ/PCVIJSP*UP'FOSJS*OD.PCJMF"QQMJDBUJPO&OHJOFFSIUUQJTFFCJIBUFOBCMPHDPN
ຊൃച
"OESPJEओମͷΫϩεϓϥοτϑΥʔϜωλΓ·͢
ͷ͠·ͤΜ
+0CK$w +BWBΛ0CKFDUJWF$ʹม͢Δɻw +BWBΛ0CKFDUJWF$ʹม͢ΔίϚϯυͱɺ 0CKFDUJWF$༻+3&ΤϛϡϨʔγϣϯϥΠϒϥϦͷηοτɻw (PPHMFɻ*OCPYͱ͔ͰΘΕ͍ͯΔɻ
͔͍ͭͲ͜Ζw Ξϗ΄ͲෳࡶͳॲཧΛJ04"OESPJEͰ͋Θ͍ͤͨw ͢Ͱʹ"OESPJE൛͕͋Δw "1*·ΘΓ͕ผग़͠Ͱ͖Δײ͡ʹͳͬͯΔw ΫϩεϓϥοτϑΥʔϜ։ൃ͍͚ͨ͠Ͳ ͕ۚͳ͍ɾਓ͕͍ͳ͍
'3&&
͔͍͔ͭͨw "OESPJEͱJ04ͷϓϩδΣΫτΛ ૬ରύεͰࢀরͰ͖ΔҐஔʹஔw "OESPJEଆͰ(SBEMFʹՃ͢Δ Ξϊςʔγϣϯw J04ଆͰ$PDPB1PETͰΠϯετʔϧ͢Δ ίϚϯυࠐΈͰ߱ͬͯ͘Δw J04ଆʹม༻ͷλʔήοτΛՃ͢Δ
ϓϩδΣΫτஔ
"OESPJEଆϥΠϒϥϦՃcompile 'com.google.j2objc:j2objc-annotations:0.1'
ίʔυॻ͘มॲཧରΛύοέʔδʹ͓ͯ͘͠Ϋϥεϝιουʹมޙͷ໊લΛ!0CKFDUJWF$/BNFͰࢦఆՄೳ
$PDPB1PETΠϯετʔϧplatform :iospod 'J2ObjC', :git => 'https://github.com/goodow/j2objc.git'ຊՈʹ͋Δͷݹ͍ Ҏ߱Ͱͳ͍ͱ!0CKFDUJWF$/BNF͕Πέͯͳ͍
"HHSFHBUFλʔήοτՃ
CLASS_PATH=../android/app/src/main/javaCONVERT_CODE_BASE_PATH=$CLASS_PATH/net/iseteki/j2objcsample/libraryOUTPUT_CODE_PATH=ConvertedCodescd $SRCROOTfind $CONVERT_CODE_BASE_PATH -not -name 'platform' -type d -print0 |\while IFS= read -r -d $'\0' line; doPods/J2ObjC/dist/j2objc \--doc-comments \--no-package-directories \--strip-reflection \-use-arc \-sourcepath $CLASS_PATH \-d $OUTPUT_CODE_PATH $line/*.javadone--doc-commentsɹˠ+BWB%PDΛม--no-package-directoriesɹˠσΟϨΫτϦߏΛϑϥοτʹ--strip-reflectionɹˠϦϑϨΫγϣϯ༻ͷίʔυΛੜ͠ͳ͍-use-arcɹˠ"3$Λ͏-sourcepathɹˠιʔεશମͷύε-dɹˠग़ྗઌ
+0CK$ͷΠέͯͳ͍ͱ͜w ग़ͯ͘Δ0CKFDUJWF$ͷίʔυ͕ΘΓͱ೦ɻw -JTU5ͱ͔͕+BWB6UJM-JTUͱ͔Ͱग़ͯ͘Δw தݟͨΒෛ͚w 4XJGUϒϦοδ͠Α͏ͱͨ͠ΒखݩͰ͏·͍͔ͣ͘w 4XJGUͰ͏ࣄྫ͋ΔΈ͍ͨͳΜ͚ͩͲʜ
ΫϩεϓϥοτϑΥʔϜൺֱ9BNBSJO 3PCP7. +0CK$Α͍8JOEPXTΧόʔՄೳ$FS͕͏Ε͍࣮͋͠Δ9BNBSJO΄Ͳߴ͘ͳ͍,PUMJO͍͚ΔϝϞϦޮྑ͍͓͔͔ۚΒͳ͍ม෦Ҏ֎௨ৗ։ൃՄ ਓతϦιʔε֬อ༰қ࣮͋Δ *OCPYΑ͘ͳ͍༗ྉɾ݁ߏߴ͍ΤϯδχΞ֬อݫ͍͠ ʁߴ͘ͳ͍ʹ͠Ζ༗ྉ࣮͕ඍົ+BWBग़ͯ͘Δίʔυ͕ΞϨ
·ͱΊw +0CK$ࠓͷͱ͜ΖݱͰ࠷ಋೖ͍͢͠ ΫϩεϓϥοτϑΥʔϜ։ൃٕज़ͩͱࢥ͏w ͓͔͔ۚΒͳ͍ɺ࣮͋ΔɺΤϯδχΞ֬อ༰қw ग़ͯ͘ΔίʔυͷΩϞ͞ʹର͢Δ༰͕͞ඞཁɻ