From a89886e16e496b2b353ad7c6eb8f11ba33196caa Mon Sep 17 00:00:00 2001 From: Karim Piyar Ali Date: Fri, 14 Aug 2015 15:20:42 -0700 Subject: [PATCH] major updates to build process - used a more generic ant build script - clarified README on how to build/update Unity Ads SDK - removed a potential conflict with `FlashRuntimeExtension.h` with other ANEs when building for iOS - updated Unity Ads SDK to 1.4.5 --- .gitignore | 43 +- LICENSE | 1 - README.md | 58 +- .../libs/FlashRuntimeExtensions.jar | Bin 10145 -> 10148 bytes android/libs/unityads.jar | Bin 0 -> 143542 bytes android/platform.xml | 7 + .../sdk/extensions/unityads/UnityAdsLib.java | 0 .../unityads/UnityAdsLibContext.java | 0 android/unity-ads.jar | Bin 139760 -> 0 bytes build.config | 23 + build.sh | 74 -- build.xml | 148 ++++ config/android_platform.xml | 5 - config/build.config | 0 config/extension.xml | 24 - config/ios_platform.xml | 11 - extension.xml | 25 + ios/FlashRuntimeExtensions.h | 633 ++++++++++++++++++ .../UnityAdsANE.xcodeproj/project.pbxproj | 36 +- .../contents.xcworkspacedata | 0 .../UnityAdsANE/UnityAdsANE.h | 0 .../UnityAdsANE/UnityAdsANE.m | 0 .../UnityAdsANETests}/Info.plist | 0 ios/{ => Vendor}/UnityAds.bundle/Info.plist | Bin .../UnityAds.bundle/audio_mute.png | Bin .../UnityAds.bundle/audio_mute@2x.png | Bin ios/{ => Vendor}/UnityAds.bundle/audio_on.png | Bin .../UnityAds.bundle/audio_on@2x.png | Bin .../en.lproj/InfoPlist.strings | Bin .../Headers/ApplifierImpact.h | 0 .../UnityAds.framework/Headers/UnityAds.h | 0 .../UnityAds.framework/Resources/Info.plist | Bin .../Resources/en.lproj/InfoPlist.strings | Bin ios/{ => Vendor}/UnityAds.framework/UnityAds | Bin ios/platform.xml | 16 + native_android/.classpath | 8 - native_android/build.xml | 48 -- .../FacebookANE.xcodeproj/project.pbxproj | 399 ----------- .../contents.xcworkspacedata | 7 - .../FacebookANE/FacebookANE/FacebookANE.h | 19 - .../FacebookANE/FacebookANE/FacebookANE.m | 41 -- .../FacebookANE/FlashRuntimeExtensions.h | 633 ------------------ .../UnityAdsANE/FlashRuntimeExtensions.h | 633 ------------------ .../UnityAdsANE/UnityAdsANETests/Info.plist | 24 - 44 files changed, 927 insertions(+), 1989 deletions(-) rename {native_android => android}/libs/FlashRuntimeExtensions.jar (76%) mode change 100755 => 100644 create mode 100644 android/libs/unityads.jar create mode 100644 android/platform.xml rename {native_android => android}/src/com/heyzap/sdk/extensions/unityads/UnityAdsLib.java (100%) rename {native_android => android}/src/com/heyzap/sdk/extensions/unityads/UnityAdsLibContext.java (100%) delete mode 100755 android/unity-ads.jar create mode 100644 build.config delete mode 100755 build.sh create mode 100644 build.xml delete mode 100644 config/android_platform.xml delete mode 100644 config/build.config delete mode 100644 config/extension.xml delete mode 100644 config/ios_platform.xml create mode 100644 extension.xml create mode 100644 ios/FlashRuntimeExtensions.h rename {native_ios/UnityAdsANE => ios}/UnityAdsANE.xcodeproj/project.pbxproj (86%) rename {native_ios/UnityAdsANE => ios}/UnityAdsANE.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename {native_ios/UnityAdsANE => ios}/UnityAdsANE/UnityAdsANE.h (100%) rename {native_ios/UnityAdsANE => ios}/UnityAdsANE/UnityAdsANE.m (100%) rename {native_ios/FacebookANE/FacebookANETests => ios/UnityAdsANETests}/Info.plist (100%) rename ios/{ => Vendor}/UnityAds.bundle/Info.plist (100%) mode change 100755 => 100644 rename ios/{ => Vendor}/UnityAds.bundle/audio_mute.png (100%) mode change 100755 => 100644 rename ios/{ => Vendor}/UnityAds.bundle/audio_mute@2x.png (100%) mode change 100755 => 100644 rename ios/{ => Vendor}/UnityAds.bundle/audio_on.png (100%) mode change 100755 => 100644 rename ios/{ => Vendor}/UnityAds.bundle/audio_on@2x.png (100%) mode change 100755 => 100644 rename ios/{ => Vendor}/UnityAds.bundle/en.lproj/InfoPlist.strings (100%) mode change 100755 => 100644 rename ios/{ => Vendor}/UnityAds.framework/Headers/ApplifierImpact.h (100%) mode change 100755 => 100644 rename ios/{ => Vendor}/UnityAds.framework/Headers/UnityAds.h (100%) mode change 100755 => 100644 rename ios/{ => Vendor}/UnityAds.framework/Resources/Info.plist (100%) mode change 100755 => 100644 rename ios/{ => Vendor}/UnityAds.framework/Resources/en.lproj/InfoPlist.strings (100%) mode change 100755 => 100644 rename ios/{ => Vendor}/UnityAds.framework/UnityAds (100%) mode change 100755 => 100644 create mode 100644 ios/platform.xml delete mode 100644 native_android/.classpath delete mode 100644 native_android/build.xml delete mode 100644 native_ios/FacebookANE/FacebookANE.xcodeproj/project.pbxproj delete mode 100644 native_ios/FacebookANE/FacebookANE.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 native_ios/FacebookANE/FacebookANE/FacebookANE.h delete mode 100644 native_ios/FacebookANE/FacebookANE/FacebookANE.m delete mode 100644 native_ios/FacebookANE/FlashRuntimeExtensions.h delete mode 100644 native_ios/UnityAdsANE/FlashRuntimeExtensions.h delete mode 100644 native_ios/UnityAdsANE/UnityAdsANETests/Info.plist diff --git a/.gitignore b/.gitignore index 6b9f55a..ed80245 100644 --- a/.gitignore +++ b/.gitignore @@ -1,51 +1,21 @@ # Build and Release Folders bin/ -bin-debug/ -bin-release/ +build/ # Other files and folders .settings/ -# Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties` -# should NOT be excluded as they contain compiler settings and other important -# information for Eclipse / Flash Builder. - -# Built application files -*.apk -*.ap_ - -# Files for the Dalvik VM -*.dex - # Java class files *.class - -# Generated files -bin/ -gen/ - -# Gradle files -.gradle/ -build/ -/*/build/ - -# Local configuration file (sdk path, etc) -local.properties - -# Proguard folder generated by Eclipse -proguard/ +*.classpath # Log Files *.log -*.class - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* +# OS X .DS_Store .AppleDouble .LSOverride @@ -53,10 +23,6 @@ hs_err_pid* # Icon must end with two \r Icon - -# Thumbnails -._* - # Files that might appear on external disk .Spotlight-V100 .Trashes @@ -68,7 +34,6 @@ Network Trash Folder Temporary Items .apdisk -build/ *.pbxuser !default.pbxuser *.mode1v3 @@ -82,5 +47,3 @@ xcuserdata *.moved-aside DerivedData *.xcuserstate - -air \ No newline at end of file diff --git a/LICENSE b/LICENSE index 5b4a9a9..f0e64f9 100644 --- a/LICENSE +++ b/LICENSE @@ -19,4 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/README.md b/README.md index 46894f0..bbb1f77 100644 --- a/README.md +++ b/README.md @@ -6,30 +6,54 @@ The latest release can be found in [Releases](https://github.com/Heyzap/unityads Pull requests and issues are welcome. +#### Unity Ads Versions +- iOS: 1.4.5 +- Android: 1.45 + #### Adding to your project -* Add the `UnityAds.ane` to your Adobe Flex Builder or Adobe Flash project. -* If on Android, follow the [integration instructions on Heyzap](https://developers.heyzap.com/docs/ane_setup_and_requirements#unityads) or add the following permissions and activities to your Android Manifest in your application descriptor: - -` - -` +- Add the `UnityAds.ane` to your Adobe Flex Builder or Adobe Flash project. +- If on Android, follow the [integration instructions on Heyzap](https://developers.heyzap.com/docs/ane_setup_and_requirements#step-3-modify-your-application-descriptor) or add the following permissions and activities to your Android Manifest in your application descriptor: + + ```xml + + + + ``` + + ```xml + + ``` + +- If not done automatically, add the follow extension context to your application descriptor: + + ```xml + + com.heyzap.sdk.extensions.unityads + + ``` + +#### Updating Unity Ads +**For iOS**: +- Replace `UnityAds.framework` and `UnityAds.bundle` in `ios/Vendor` with a newer version. +- Update `ios/platform.xml` with any new iOS frameworks that the newer version might be dependent on. Built-in iOS SDK frameworks can be added within the _linkerOptions_ tag. Custom iOS frameworks can be added under the _packagedDependencies_ tag and their respective `.framework` directories can be added to `ios/Vendor`. Drag and drop these `.framework` directories into the `UnityAdsANE.xcodeproj` project in XCode under the _Vendor_ group. -`` +**For Android**: +- Replace `unity-ads.jar` in `android/libs` with a newer version. +- Update `android/platform.xml` with any new android libraries that the newer version might be dependent on. Android libraries can be added under the _packagedDependencies_ tag. The actual `.jar` files can be added to the `andorid/libs` directory. -* If not done automatically, add the follow extension context to your application descriptor: -``` - - com.heyzap.sdk.extensions.unityads - -``` +After making the necessary modifications, build the new ANE by following the [building](#building) instructions below. #### Building -Build Requirements: -* Mac OS X -* XCode +##### Requirements: +- Mac OS X +- XCode +- [Apache Ant](http://ant.apache.org/) +- [AIR SDK](http://www.adobe.com/devnet/air/air-sdk-download.html) -From the root of the folder, run `./build.sh`. +##### Building: +- Add the path to your AIR SDK in `build.config` (under `air.sdk`) +- From the root of the repository, run `ant`. After build completes, the native extension will be in `bin/UnityAds.ane`. diff --git a/native_android/libs/FlashRuntimeExtensions.jar b/android/libs/FlashRuntimeExtensions.jar old mode 100755 new mode 100644 similarity index 76% rename from native_android/libs/FlashRuntimeExtensions.jar rename to android/libs/FlashRuntimeExtensions.jar index bf51aa0377bac6a4954ae79457eeb6be8707dd50..38f2fc59d63c890cb21b1032233c23a3bc056167 GIT binary patch delta 943 zcmZ4Jzr>#}z?+$civa{`9G|*Pi zOpl0(3^!L%kf_b)NncGWch2!LF7_&kZOB?H60*wqPpph`cID2BoeT(rK?Z_tfD$Y~ zIypaAAGZpSgFq@0Q}UBiC-X6Kvw+N)EX$|?W^DFkY-JP#30d^_s#^igGvQ=lkeQq) zDzf=AlRpbYksJGO7Cw+7QLCs|yOB8?IR&~d`pD~Y^rIyggYnDJKZ2Jp_uA9IY`w8tY&NM?hEWd`6eLNLQyk!@>*3( zh*hstr5N8#W>vEThrs(uFAhorJ;cJzz#xmFWuD~Z?UM2sA+YbMS0pRY{2CzEK+*7J z@>(@>u%QQ{cRmEUwF8KCP}JDVPmYk+gL`WG^hvBBg{?rWjiPYU!qO B^o0Nb delta 845 zcmZ4DztEpAz?+$civa{CY)rGC$fwTR52Rn8T=+Z#C{{YrDZsJuRin}_Pqt&bjx*-^8tZV)n!^AWQ|BHu0Jq3z+_) z0;VS`FlvAqn|&Bt86m8zOa&|umM8mfD9eNA3ll`lfj#lZkFYP!MmKo_7YT_y$wb(onzdP$=-<77n@ z;mNs-Vw3Nx@<7bYQI=vl!UPtdtt>7NGN6si#`pjW149uf1A`)p0Tz=lDjR^+h+0Lx z+6A=W6e|OR0*V^*$qFj^3gECiJY%~Y(3~|K3=DE8YV`TR7B;CsJvLuOim6i=EOt&s z8sf0GK(T5Ou-IA=zR9=MpboZDm11%e1&e2@YJeTHHFoy}cA$@&fLIH~qFIwSs9HkJ z1L}Jz4%R25rUeo6Qj=nuEeRGoE6Jmch!jXjqDDT#;3bV8CvQ+QhnVpiXoihE*o-`R jX;8p|-L!rBBvwwKds=~58=(~#3;mN5)a}?FDuM(7OGfe_ diff --git a/android/libs/unityads.jar b/android/libs/unityads.jar new file mode 100644 index 0000000000000000000000000000000000000000..2fc21ea67a0fade11130c97d6ace56c1d550d6d6 GIT binary patch literal 143542 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 nN7gJCj4-bn!>4-Gc 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 literal 0 HcmV?d00001 diff --git a/android/platform.xml b/android/platform.xml new file mode 100644 index 0000000..c5ac024 --- /dev/null +++ b/android/platform.xml @@ -0,0 +1,7 @@ + + + + unityads.jar + + + diff --git a/native_android/src/com/heyzap/sdk/extensions/unityads/UnityAdsLib.java b/android/src/com/heyzap/sdk/extensions/unityads/UnityAdsLib.java similarity index 100% rename from native_android/src/com/heyzap/sdk/extensions/unityads/UnityAdsLib.java rename to android/src/com/heyzap/sdk/extensions/unityads/UnityAdsLib.java diff --git a/native_android/src/com/heyzap/sdk/extensions/unityads/UnityAdsLibContext.java b/android/src/com/heyzap/sdk/extensions/unityads/UnityAdsLibContext.java similarity index 100% rename from native_android/src/com/heyzap/sdk/extensions/unityads/UnityAdsLibContext.java rename to android/src/com/heyzap/sdk/extensions/unityads/UnityAdsLibContext.java diff --git a/android/unity-ads.jar b/android/unity-ads.jar deleted file mode 100755 index b25a5084141bc0596e176c0d49105478cb618337..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139760 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

s5v0Cep$<&) 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
>!gz{QA;zCx*r8&~w89xBzTJVN(+Nj^T7Tph_| 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%0DRtbyr>)L+Msu^+WOI zUll;{7GLoP{UCp9?UN;Yi|?c5G$-LcFKoL*BSo2QkV%)FW;3V1hwdc5lJ@^Zd#XrC zo=E_nhP;EiV=qh1Msw>Gm;91?C(kO6K*(Orb(Cn z(P0M1P4Sh@^ZWZc&vIeFKQ;HbYB>SF^KFL!^CCTELGS+B3uwJ;H^aw9d`j+l1pDCM zCI!xceAC(X)sow(?TG-k_fG+fhUz4^YVW}W-hzJ;+eQP<`R+w>C5ooxExN7f|LH6b z>Afsmbk`a&cI@r%i~L0DzxDmCB%<>!v_}(|7v-s{#}wGtVOIREx#zRZjJ@k9KjGwz zMuXqiWmdvNU|ZRL8MMb5<-H+7rYJ*IPVaBvHefJdMo<$dWT**5HhI0YG0HZr17@wF8xoz08xx%x2aufV z8&q|+2uh_*3fU;&wf!dX5!P!h{~%yfsLUz{#%aZ8EOj=~Yz?EW6t{N1u(9+`i~4f= zqOmG2=>rz`4SXSxdXJ>m$%gzryB~KEf+ECuowo#{d*t zeU&#=T*3!yZslVwj%8!6cF}xkW3O!52b?F4NtXsOW3G!i_zazvdj_di zc^0hJm!Q=-Wwb|{pV%#G(ip*I`AVgh77wUxBf#51X0w~58X%~f0C}Z2;U1L6>qywm ztJpKHo*CaX8|hs1n@}sPMM_vvfvXhxR&lRM%+0g3HFCN4xiwM8-{T}a4Q8*xhDuSR zg!ydx+4iLl!xEe|@Q4DaFnI6_o#ZGmL*@oW#AFp#qtX88(#O3!YlvAc_p>F(7;-k* zOkyqwoNq$)e?Qgue(NrHh^gUvYCVfEA2n--w-9{-2s=?@g1<`+>DQ38#v_1$3a)(0 z_fU(#(0>g@uz9?QM904@9twUT`tj5;I`HLf8SYI8P#FN`?xi=B*R8EfnLkaA!`N>8yik{t0G+IvU#nwDRnB_4G&)b>JjZmzzK4a)`SIQ!#~_o? zX#;7&?ZIY_hwnXJDAr%_Yp3ik===gx{|O&)Qc`@O>=h)vMP>$ZV_i;;tG+K4+EP># zoxKU)YM>o;(SloqDtxTaS!7~m0* z+Orxr`9m3pVu^E_#nVvn?O=J`e&-0N2Ii-ZhKezo!r3s%{UCt@Ru_qhCFPh1@{7Lk zBGs`;1G@2a13+2m$&f!bn$BO%w_llC;=7sjgP5FPtDA z%`$xEra};Jto3G6l37PTSG?Av#eBzwTVoT&FF7OnsOUUVoGsk^fF5Hbl*bg+muTFm z16^_Qy3C}sX80uj<^hH?_1N|Ws#+E+5Mb5YND#%i5vW|_|t-YjS5p%HG4n-|Y z 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 diff --git a/build.config b/build.config new file mode 100644 index 0000000..e3c789c --- /dev/null +++ b/build.config @@ -0,0 +1,23 @@ +air.sdk = /Users/karim/Development/AdobeAIRSDK + +output.name = UnityAds + +## iOS Specific +ios.dir = ./ios +ios.lib.dir = Vendor +# iOS XCode project name (without the .xcodeproj extension) +# Note that the main target for this project must be the same name +ios.project.name = UnityAdsANE +# Note that this output name is dependent on 'extension.xml' *and* the XCode project target +ios.output.name = libUnityAdsANE.a + +## Android Specific +android.dir = ./android +android.src.dir = src +android.lib.dir = libs +# Note that this output name is dependent on 'extension.xml' +android.output.name = libUnityAds.jar + +## AIR Specific +actionscript.dir = ./actionscript +actionscript.src.dir = src diff --git a/build.sh b/build.sh deleted file mode 100755 index ec79ca8..0000000 --- a/build.sh +++ /dev/null @@ -1,74 +0,0 @@ -# get config data -eval `sed '/^ *#/d;s/:/ /;' < "config/build.config" | while read key val -do - str="$key='$val'" - echo "$str" -done` - -# make sure air sdk is extracted -if [ ! -f "air/sdk/bin/compc" ]; then - mkdir -p air - cd air - if [ ! -f airsdk.tbz2 ]; then - echo "Downloading AIR SDK..." - curl -o airsdk.tbz2 http://airdownload.adobe.com/air/mac/download/latest/AIRSDK_Compiler.tbz2 - fi - mkdir -p sdk - cd sdk - echo "Unpacking AIR SDK..." - tar -xjf ../airsdk.tbz2 - cd ../.. -fi -air_sdk=$(cd `dirname "${BASH_SOURCE[0]}"` && pwd)/"air/sdk" - -# Clean -echo "Cleaning..." -rm -fr build -rm -fr bin - -# build action script library -echo "Building Actionscript..." -"$air_sdk/bin/compc" -source-path actionscript/src -output actionscript/bin/UnityAds.swc -swf-version=14 -external-library-path="$air_sdk/frameworks/libs/air/airglobal.swc" -include-classes com.heyzap.sdk.extensions.unityads.Dummy - -# build iOS library -echo "Building iOS Native Library..." -xcodebuild -project native_ios/UnityAdsANE/UnityAdsANE.xcodeproj -target 'UnityAdsANE' -configuration 'Release' CONFIGURATION_BUILD_DIR='../bin' build - -echo "Making Build Folders..." -mkdir -p bin -mkdir -p build -mkdir -p build/android -mkdir -p build/ios -mkdir -p build/default - -echo "Building Android Library..." -cd native_android -ant -cd ../ - -# build ANE -echo "Building Adobe Native Extension..." -cp actionscript/bin/UnityAds.swc build/UnityAds.swc -cp native_ios/bin/libUnityAdsANE.a build/ios -cp -R native_android/bin/* build/android -unzip -o build/UnityAds.swc -d build/android -cp -R android/* build/android/ - - - -unzip -o build/UnityAds.swc -d build/ios -cp -R -L ios/UnityAds.framework build/ -cp -R -L ios/UnityAds.bundle build/ios - -mkdir -p build/default -unzip -o build/UnityAds.swc -d build/default - -rm -fr build/android/catalog.xml -rm -fr build/ios/catalog.xml -rm -fr build/default/catalog.xml - -cd build -"$air_sdk/bin/adt" -package -target ane UnityAds.ane ../config/extension.xml -swc UnityAds.swc -platform Android-ARM -platformoptions ../config/android_platform.xml -C android . -platform iPhone-ARM -platformoptions ../config/ios_platform.xml UnityAds.framework -C ios . -platform default -C default . -cd .. -cp build/UnityAds.ane bin/UnityAds.ane -echo "Building done..." diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..d223daa --- /dev/null +++ b/build.xml @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config/android_platform.xml b/config/android_platform.xml deleted file mode 100644 index f197f3e..0000000 --- a/config/android_platform.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - unity-ads.jar - - \ No newline at end of file diff --git a/config/build.config b/config/build.config deleted file mode 100644 index e69de29..0000000 diff --git a/config/extension.xml b/config/extension.xml deleted file mode 100644 index 8ad6849..0000000 --- a/config/extension.xml +++ /dev/null @@ -1,24 +0,0 @@ - - com.heyzap.sdk.extensions.unityads - 1.0 - - - - libUnityAds.jar - com.heyzap.sdk.extensions.unityads.UnityAdsLib - - - - - - libUnityAdsANE.a - UnityAdsANEInitializer - UnityAdsANEFinalizer - - - - - - - - diff --git a/config/ios_platform.xml b/config/ios_platform.xml deleted file mode 100644 index 40214fd..0000000 --- a/config/ios_platform.xml +++ /dev/null @@ -1,11 +0,0 @@ - - 7.0 - - - - - - - UnityAds.framework - - diff --git a/extension.xml b/extension.xml new file mode 100644 index 0000000..778db2c --- /dev/null +++ b/extension.xml @@ -0,0 +1,25 @@ + + com.heyzap.sdk.extensions.unityads + 1.0 + + + + + libUnityAds.jar + com.heyzap.sdk.extensions.unityads.UnityAdsLib + + + + + + libUnityAdsANE.a + UnityAdsANEInitializer + UnityAdsANEFinalizer + + + + + + + + diff --git a/ios/FlashRuntimeExtensions.h b/ios/FlashRuntimeExtensions.h new file mode 100644 index 0000000..949c3e6 --- /dev/null +++ b/ios/FlashRuntimeExtensions.h @@ -0,0 +1,633 @@ +// ADOBE CONFIDENTIAL +// +// Copyright 2011 Adobe Systems Incorporated All Rights Reserved. +// +// NOTICE: All information contained herein is, and remains the property of +// Adobe Systems Incorporated and its suppliers, if any. The intellectual and +// technical concepts contained herein are proprietary to Adobe Systems +// Incorporated and its suppliers and may be covered by U.S. and Foreign +// Patents, patents in process, and are protected by trade secret or copyright +// law. Dissemination of this information or reproduction of this material +// is strictly forbidden unless prior written permission is obtained from +// Adobe Systems Incorporated. + +// AdobePatentID="P969E1" + +#ifdef WIN32 + typedef unsigned __int32 uint32_t; + typedef unsigned __int8 uint8_t; + typedef __int32 int32_t; +#else + #include +#endif + +#ifndef FRNATIVEEXTENSIONS_H_ +#define FRNATIVEEXTENSIONS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void * FREContext; +typedef void * FREObject; + +/* Initialization *************************************************************/ + +/** + * Defines the signature for native calls that can be invoked via an + * instance of the AS ExtensionContext class. + * + * @return The return value corresponds to the return value + * from the AS ExtensionContext class call() method. It defaults to + * FRE_INVALID_OBJECT, which is reported as null in AS. + */ + +typedef FREObject (*FREFunction)( + FREContext ctx, + void* functionData, + uint32_t argc, + FREObject argv[] +); + +typedef struct FRENamedFunction_ { + const uint8_t* name; + void* functionData; + FREFunction function; +} FRENamedFunction; + +/** + * Defines the signature for the initializer that is called each time + * a new AS ExtensionContext object is created. + * + * @param extData The extension client data provided to the FREInitializer function as extDataToSet. + * + * @param ctxType Pointer to the contextType string (UTF8) as provided to the AS createExtensionContext call. + * + * @param ctx The FREContext being initialized. + * + * @param numFunctionsToSet The number of elements in the functionsToSet array. + * + * @param functionsToSet A pointer to an array of FRENamedFunction elements. + */ + +typedef void (*FREContextInitializer)( + void* extData , + const uint8_t* ctxType , + FREContext ctx , + uint32_t* numFunctionsToSet, + const FRENamedFunction** functionsToSet +); + +/** + * Defines the signature for the finalizer that is called each time + * an ExtensionContext instance is disposed. + */ + +typedef void (*FREContextFinalizer)( + FREContext ctx +); + +/** + * The initialization function provided by each extension must conform + * to the following signature. + * + * @param extDataToSet Provided for the extension to store per-extension instance data. + * For example, if the extension creates + * globals per-instance, it can store a pointer to them here. + * + * @param ctxInitializerToSet Must be set to a pointer to a function + * of type FREContextInitializer. Will be invoked whenever + * the ActionScript code creates a new context for this extension. + * + * @param ctxFinalizerToSet Must be set to a pointer to a function + * of type FREContextFinalizer. + */ + +typedef void (*FREInitializer)( + void** extDataToSet , + FREContextInitializer* ctxInitializerToSet, + FREContextFinalizer* ctxFinalizerToSet +); + +/** + * Called iff the extension is unloaded from the process. Extensions + * are not guaranteed to be unloaded; the runtime process may exit without + * doing so. + */ + +typedef void (*FREFinalizer)( + void* extData +); + +/* Result Codes ***************************************************************/ +/** + * These values must not be changed. + */ + +typedef enum { + FRE_OK = 0, + FRE_NO_SUCH_NAME = 1, + FRE_INVALID_OBJECT = 2, + FRE_TYPE_MISMATCH = 3, + FRE_ACTIONSCRIPT_ERROR = 4, + FRE_INVALID_ARGUMENT = 5, + FRE_READ_ONLY = 6, + FRE_WRONG_THREAD = 7, + FRE_ILLEGAL_STATE = 8, + FRE_INSUFFICIENT_MEMORY = 9, + FREResult_ENUMPADDING = 0xfffff /* will ensure that C and C++ treat this enum as the same size. */ +} FREResult; + +/* Context Data ************************************************************/ + +/** + * @returns FRE_OK + * FRE_WRONG_THREAD + * FRE_INVALID_ARGUMENT If nativeData is null. + */ + +FREResult FREGetContextNativeData( FREContext ctx, void** nativeData ); + +/** + * @returns FRE_OK + * FRE_INVALID_ARGUMENT + * FRE_WRONG_THREAD + */ + +FREResult FRESetContextNativeData( FREContext ctx, void* nativeData ); + +/** + * @returns FRE_OK + * FRE_WRONG_THREAD + * FRE_INVALID_ARGUMENT If actionScriptData is null. + */ + +FREResult FREGetContextActionScriptData( FREContext ctx, FREObject *actionScriptData ); + +/** + * @returns FRE_OK + * FRE_WRONG_THREAD + */ + +FREResult FRESetContextActionScriptData( FREContext ctx, FREObject actionScriptData ); + +/* Primitive Types ************************************************************/ +/** + * These values must not be changed. + */ + +typedef enum { + FRE_TYPE_OBJECT = 0, + FRE_TYPE_NUMBER = 1, + FRE_TYPE_STRING = 2, + FRE_TYPE_BYTEARRAY = 3, + FRE_TYPE_ARRAY = 4, + FRE_TYPE_VECTOR = 5, + FRE_TYPE_BITMAPDATA = 6, + FRE_TYPE_BOOLEAN = 7, + FRE_TYPE_NULL = 8, + FREObjectType_ENUMPADDING = 0xfffff /* will ensure that C and C++ treat this enum as the same size. */ +} FREObjectType; + +/** + * @returns FRE_OK + * FRE_INVALID_OBJECT + * FRE_WRONG_THREAD + * FRE_INVALID_ARGUMENT If objectType is null. + */ + +FREResult FREGetObjectType( FREObject object, FREObjectType *objectType ); + +/** + * @return FRE_OK + * FRE_TYPE_MISMATCH + * FRE_INVALID_OBJECT + * FRE_INVALID_ARGUMENT + * FRE_WRONG_THREAD + */ + +FREResult FREGetObjectAsInt32 ( FREObject object, int32_t *value ); +FREResult FREGetObjectAsUint32( FREObject object, uint32_t *value ); +FREResult FREGetObjectAsDouble( FREObject object, double *value ); +FREResult FREGetObjectAsBool ( FREObject object, uint32_t *value ); + +/** + * @return FRE_OK + * FRE_INVALID_ARGUMENT + * FRE_WRONG_THREAD + */ + +FREResult FRENewObjectFromInt32 ( int32_t value, FREObject *object ); +FREResult FRENewObjectFromUint32( uint32_t value, FREObject *object ); +FREResult FRENewObjectFromDouble( double value, FREObject *object ); +FREResult FRENewObjectFromBool ( uint32_t value, FREObject *object ); + +/** + * Retrieves a string representation of the object referred to by + * the given object. The referenced string is immutable and valid + * only for duration of the call to a registered function. If the + * caller wishes to keep the the string, they must keep a copy of it. + * + * @param object The string to be retrieved. + * + * @param length The size, in bytes, of the string. Includes the + * null terminator. + * + * @param value A pointer to a possibly temporary copy of the string. + * + * @return FRE_OK + * FRE_TYPE_MISMATCH + * FRE_INVALID_OBJECT + * FRE_INVALID_ARGUMENT + * FRE_WRONG_THREAD + */ + +FREResult FREGetObjectAsUTF8( + FREObject object, + uint32_t* length, + const uint8_t** value +); + +/** + * Creates a new String object that contains a copy of the specified + * string. + * + * @param length The length, in bytes, of the original string. Must include + * the null terminator. + * + * @param value A pointer to the original string. + * + * @param object Receives a reference to the new string object. + * + * @return FRE_OK + * FRE_INVALID_ARGUMENT + * FRE_WRONG_THREAD + */ + +FREResult FRENewObjectFromUTF8( + uint32_t length, + const uint8_t* value , + FREObject* object +); + +/* Object Access **************************************************************/ + +/** + * @param className UTF8-encoded name of the class being constructed. + * + * @param thrownException A pointer to a handle that can receive the handle of any ActionScript + * Error thrown during execution. May be null if the caller does not + * want to receive this handle. If not null and no error occurs, is set an + * invalid handle value. + * + * @return FRE_OK + * FRE_TYPE_MISMATCH + * FRE_INVALID_OBJECT + * FRE_INVALID_ARGUMENT + * FRE_ACTIONSCRIPT_ERROR If an ActionScript exception results from calling this method. + * In this case, thrownException will be set to the handle of the thrown value. + * FRE_ILLEGAL_STATE If a ByteArray or BitmapData has been acquired and not yet released. + * FRE_NO_SUCH_NAME + * FRE_WRONG_THREAD + */ + +FREResult FRENewObject( + const uint8_t* className , + uint32_t argc , + FREObject argv[] , + FREObject* object , + FREObject* thrownException +); + +/** + * @param propertyName UTF8-encoded name of the property being fetched. + * + * @param thrownException A pointer to a handle that can receive the handle of any ActionScript + * Error thrown during getting the property. May be null if the caller does not + * want to receive this handle. If not null and no error occurs, is set an + * invalid handle value. + * + * @return FRE_OK + * FRE_TYPE_MISMATCH + * FRE_INVALID_OBJECT + * FRE_INVALID_ARGUMENT + * + * FRE_ACTIONSCRIPT_ERROR If an ActionScript exception results from getting this property. + * In this case, thrownException will be set to the handle of the thrown value. + * + * FRE_NO_SUCH_NAME If the named property doesn't exist, or if the reference is ambiguous + * because the property exists in more than one namespace. + * + * FRE_ILLEGAL_STATE If a ByteArray or BitmapData has been acquired and not yet released. + * + * FRE_WRONG_THREAD + */ + +FREResult FREGetObjectProperty( + FREObject object , + const uint8_t* propertyName , + FREObject* propertyValue , + FREObject* thrownException +); + +/** + * @param propertyName UTF8-encoded name of the property being set. + * + * @param thrownException A pointer to a handle that can receive the handle of any ActionScript + * Error thrown during method execution. May be null if the caller does not + * want to receive this handle. If not null and no error occurs, is set an + * invalid handle value. + * + * + * @return FRE_OK + * FRE_TYPE_MISMATCH + * FRE_INVALID_OBJECT + * FRE_INVALID_ARGUMENT + * FRE_ACTIONSCRIPT_ERROR If an ActionScript exception results from getting this property. + * In this case, thrownException will be set to the handle of the thrown value. + * + * FRE_NO_SUCH_NAME If the named property doesn't exist, or if the reference is ambiguous + * because the property exists in more than one namespace. + * + * FRE_ILLEGAL_STATE If a ByteArray or BitmapData has been acquired and not yet released. + * + * FRE_READ_ONLY + * FRE_WRONG_THREAD + */ + +FREResult FRESetObjectProperty( + FREObject object , + const uint8_t* propertyName , + FREObject propertyValue , + FREObject* thrownException +); + +/** + * @param methodName UTF8-encoded null-terminated name of the method being invoked. + * + * @param thrownException A pointer to a handle that can receive the handle of any ActionScript + * Error thrown during method execution. May be null if the caller does not + * want to receive this handle. If not null and no error occurs, is set an + * invalid handle value. + * + * @return FRE_OK + * FRE_TYPE_MISMATCH + * FRE_INVALID_OBJECT + * FRE_INVALID_ARGUMENT + * FRE_ACTIONSCRIPT_ERROR If an ActionScript exception results from calling this method. + * In this case, thrownException will be set to the handle of the thrown value. + * + * FRE_NO_SUCH_NAME If the named method doesn't exist, or if the reference is ambiguous + * because the method exists in more than one namespace. + * + * FRE_ILLEGAL_STATE If a ByteArray or BitmapData has been acquired and not yet released. + * + * FRE_WRONG_THREAD + */ + +FREResult FRECallObjectMethod ( + FREObject object , + const uint8_t* methodName , + uint32_t argc , + FREObject argv[] , + FREObject* result , + FREObject* thrownException +); + +/* BitmapData Access **********************************************************/ + +typedef struct { + uint32_t width; /* width of the BitmapData bitmap */ + uint32_t height; /* height of the BitmapData bitmap */ + uint32_t hasAlpha; /* if non-zero, pixel format is ARGB32, otherwise pixel format is _RGB32, host endianness */ + uint32_t isPremultiplied; /* pixel color values are premultiplied with alpha if non-zero, un-multiplied if zero */ + uint32_t lineStride32; /* line stride in number of 32 bit values, typically the same as width */ + uint32_t* bits32; /* pointer to the first 32-bit pixel of the bitmap data */ +} FREBitmapData; + +typedef struct { + uint32_t width; /* width of the BitmapData bitmap */ + uint32_t height; /* height of the BitmapData bitmap */ + uint32_t hasAlpha; /* if non-zero, pixel format is ARGB32, otherwise pixel format is _RGB32, host endianness */ + uint32_t isPremultiplied; /* pixel color values are premultiplied with alpha if non-zero, un-multiplied if zero */ + uint32_t lineStride32; /* line stride in number of 32 bit values, typically the same as width */ + uint32_t isInvertedY; /* if non-zero, last row of pixels starts at bits32, otherwise, first row of pixels starts at bits32. */ + uint32_t* bits32; /* pointer to the first 32-bit pixel of the bitmap data */ +} FREBitmapData2; + +/** + * Referenced data is valid only for duration of the call + * to a registered function. + * + * @return FRE_OK + * FRE_TYPE_MISMATCH + * FRE_INVALID_OBJECT + * FRE_INVALID_ARGUMENT + * FRE_WRONG_THREAD + * FRE_ILLEGAL_STATE + */ + +FREResult FREAcquireBitmapData( + FREObject object , + FREBitmapData* descriptorToSet +); + +/** + * Referenced data is valid only for duration of the call + * to a registered function. + * + * Use of this API requires that the extension and application must be packaged for + * the 3.1 namespace or later. + * + * @return FRE_OK + * FRE_TYPE_MISMATCH + * FRE_INVALID_OBJECT + * FRE_INVALID_ARGUMENT + * FRE_WRONG_THREAD + * FRE_ILLEGAL_STATE + */ + +FREResult FREAcquireBitmapData2( + FREObject object , + FREBitmapData2* descriptorToSet +); + +/** + * BitmapData must be acquired to call this. Clients must invalidate any region + * they modify in order to notify AIR of the changes. Only invalidated regions + * are redrawn. + * + * @return FRE_OK + * FRE_INVALID_OBJECT + * FRE_WRONG_THREAD + * FRE_ILLEGAL_STATE + * FRE_TYPE_MISMATCH + */ + +FREResult FREInvalidateBitmapDataRect( + FREObject object, + uint32_t x , + uint32_t y , + uint32_t width , + uint32_t height +); +/** + * @return FRE_OK + * FRE_WRONG_THREAD + * FRE_ILLEGAL_STATE + * FRE_TYPE_MISMATCH + */ + +FREResult FREReleaseBitmapData( FREObject object ); + +/** + * Referenced data is valid only for duration of the call + * to a registered function. + * + * @return FRE_OK + * FRE_TYPE_MISMATCH + * FRE_INVALID_OBJECT + * FRE_WRONG_THREAD + */ + +/* ByteArray Access ***********************************************************/ + +typedef struct { + uint32_t length; + uint8_t* bytes; +} FREByteArray; + +/** + * Referenced data is valid only for duration of the call + * to a registered function. + * + * @return FRE_OK + * FRE_TYPE_MISMATCH + * FRE_INVALID_OBJECT + * FRE_INVALID_ARGUMENT + * FRE_WRONG_THREAD + * FRE_ILLEGAL_STATE + */ + +FREResult FREAcquireByteArray( + FREObject object , + FREByteArray* byteArrayToSet +); + +/** + * @return FRE_OK + * FRE_INVALID_OBJECT + * FRE_ILLEGAL_STATE + * FRE_WRONG_THREAD + */ + +FREResult FREReleaseByteArray( FREObject object ); + +/* Array and Vector Access ****************************************************/ + +/** + * @return FRE_OK + * FRE_INVALID_OBJECT + * FRE_INVALID_ARGUMENT + * FRE_ILLEGAL_STATE + * FRE_TYPE_MISMATCH + * FRE_WRONG_THREAD + */ + +FREResult FREGetArrayLength( + FREObject arrayOrVector, + uint32_t* length +); + +/** + * @return FRE_OK + * FRE_INVALID_OBJECT + * FRE_TYPE_MISMATCH + * FRE_ILLEGAL_STATE + * FRE_INVALID_ARGUMENT If length is greater than 2^32. + * + * FRE_READ_ONLY If the handle refers to a Vector + * of fixed size. + * + * FRE_WRONG_THREAD + * FRE_INSUFFICIENT_MEMORY + */ + +FREResult FRESetArrayLength( + FREObject arrayOrVector, + uint32_t length +); + +/** + * If an Array is sparse and an element that isn't defined is requested, the + * return value will be FRE_OK but the handle value will be invalid. + * + * @return FRE_OK + * FRE_ILLEGAL_STATE + * + * FRE_INVALID_ARGUMENT If the handle refers to a vector and the index is + * greater than the size of the array. + * + * FRE_INVALID_OBJECT + * FRE_TYPE_MISMATCH + * FRE_WRONG_THREAD + */ + +FREResult FREGetArrayElementAt( + FREObject arrayOrVector, + uint32_t index , + FREObject* value +); + +/** + * + * @return FRE_OK + * FRE_INVALID_OBJECT + * FRE_ILLEGAL_STATE + * + * FRE_TYPE_MISMATCH If an attempt to made to set a value in a Vector + * when the type of the value doesn't match the Vector's item type. + * + * FRE_WRONG_THREAD + */ + +FREResult FRESetArrayElementAt( + FREObject arrayOrVector, + uint32_t index , + FREObject value +); + +/* Callbacks ******************************************************************/ + +/** + * Causes a StatusEvent to be dispatched from the associated + * ExtensionContext object. + * + * Dispatch happens asynchronously, even if this is called during + * a call to a registered function. + * + * The ActionScript portion of this extension can listen for that event + * and, upon receipt, query the native portion for details of the event + * that occurred. + * + * This call is thread-safe and may be invoked from any thread. The string + * values are copied before the call returns. + * + * @return FRE_OK In all circumstances, as the referenced object cannot + * necessarily be checked for validity on the invoking thread. + * However, no event will be dispatched if the object is + * invalid or not an EventDispatcher. + * FRE_INVALID_ARGUMENT If code or level is NULL + */ + +FREResult FREDispatchStatusEventAsync( + FREContext ctx , + const uint8_t* code , + const uint8_t* level +); + +#ifdef __cplusplus +} +#endif + +#endif /* #ifndef _FLASH_RUNTIME_EXTENSIONS_H_ */ diff --git a/native_ios/UnityAdsANE/UnityAdsANE.xcodeproj/project.pbxproj b/ios/UnityAdsANE.xcodeproj/project.pbxproj similarity index 86% rename from native_ios/UnityAdsANE/UnityAdsANE.xcodeproj/project.pbxproj rename to ios/UnityAdsANE.xcodeproj/project.pbxproj index 8f15387..263ed34 100644 --- a/native_ios/UnityAdsANE/UnityAdsANE.xcodeproj/project.pbxproj +++ b/ios/UnityAdsANE.xcodeproj/project.pbxproj @@ -10,6 +10,9 @@ 861D2AF91A9439B3001F1C22 /* UnityAdsANE.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 861D2AF81A9439B3001F1C22 /* UnityAdsANE.h */; }; 861D2AFB1A9439B3001F1C22 /* UnityAdsANE.m in Sources */ = {isa = PBXBuildFile; fileRef = 861D2AFA1A9439B3001F1C22 /* UnityAdsANE.m */; }; 861D2B011A9439B3001F1C22 /* libUnityAdsANE.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 861D2AF51A9439B3001F1C22 /* libUnityAdsANE.a */; }; + 8AAF89181B7E6E66001D78D4 /* UnityAds.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 8AAF89161B7E6E66001D78D4 /* UnityAds.bundle */; }; + 8AAF89191B7E6E66001D78D4 /* UnityAds.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AAF89171B7E6E66001D78D4 /* UnityAds.framework */; }; + 8AAF891A1B7E6E66001D78D4 /* UnityAds.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AAF89171B7E6E66001D78D4 /* UnityAds.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -41,7 +44,9 @@ 861D2AFA1A9439B3001F1C22 /* UnityAdsANE.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UnityAdsANE.m; sourceTree = ""; }; 861D2B001A9439B3001F1C22 /* UnityAdsANETests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UnityAdsANETests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 861D2B061A9439B3001F1C22 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 861D2B101A9439F2001F1C22 /* FlashRuntimeExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FlashRuntimeExtensions.h; sourceTree = ""; }; + 8AAF89161B7E6E66001D78D4 /* UnityAds.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = UnityAds.bundle; sourceTree = ""; }; + 8AAF89171B7E6E66001D78D4 /* UnityAds.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = UnityAds.framework; sourceTree = ""; }; + 8AAF891B1B7E9AC7001D78D4 /* FlashRuntimeExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FlashRuntimeExtensions.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -49,6 +54,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 8AAF89191B7E6E66001D78D4 /* UnityAds.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -57,6 +63,7 @@ buildActionMask = 2147483647; files = ( 861D2B011A9439B3001F1C22 /* libUnityAdsANE.a in Frameworks */, + 8AAF891A1B7E6E66001D78D4 /* UnityAds.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -66,7 +73,8 @@ 861D2AEC1A9439B3001F1C22 = { isa = PBXGroup; children = ( - 861D2B0F1A9439E8001F1C22 /* Vendor */, + 8AAF891B1B7E9AC7001D78D4 /* FlashRuntimeExtensions.h */, + 8AAF89141B7E6E66001D78D4 /* Vendor */, 861D2AF71A9439B3001F1C22 /* UnityAdsANE */, 861D2B041A9439B3001F1C22 /* UnityAdsANETests */, 861D2AF61A9439B3001F1C22 /* Products */, @@ -107,12 +115,13 @@ name = "Supporting Files"; sourceTree = ""; }; - 861D2B0F1A9439E8001F1C22 /* Vendor */ = { + 8AAF89141B7E6E66001D78D4 /* Vendor */ = { isa = PBXGroup; children = ( - 861D2B101A9439F2001F1C22 /* FlashRuntimeExtensions.h */, + 8AAF89161B7E6E66001D78D4 /* UnityAds.bundle */, + 8AAF89171B7E6E66001D78D4 /* UnityAds.framework */, ); - name = Vendor; + path = Vendor; sourceTree = ""; }; /* End PBXGroup section */ @@ -193,6 +202,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 8AAF89181B7E6E66001D78D4 /* UnityAds.bundle in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -302,6 +312,11 @@ 861D2B0A1A9439B3001F1C22 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "/Users/karim/projects/facebook-audience-network-ane/ios/Vendor", + "$(PROJECT_DIR)/Vendor", + ); OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -311,6 +326,11 @@ 861D2B0B1A9439B3001F1C22 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "/Users/karim/projects/facebook-audience-network-ane/ios/Vendor", + "$(PROJECT_DIR)/Vendor", + ); OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -323,6 +343,8 @@ FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", + "/Users/karim/projects/facebook-audience-network-ane/ios/Vendor", + "$(PROJECT_DIR)/Vendor", ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", @@ -340,6 +362,8 @@ FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", + "/Users/karim/projects/facebook-audience-network-ane/ios/Vendor", + "$(PROJECT_DIR)/Vendor", ); INFOPLIST_FILE = UnityAdsANETests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; @@ -366,6 +390,7 @@ 861D2B0B1A9439B3001F1C22 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; 861D2B0C1A9439B3001F1C22 /* Build configuration list for PBXNativeTarget "UnityAdsANETests" */ = { isa = XCConfigurationList; @@ -374,6 +399,7 @@ 861D2B0E1A9439B3001F1C22 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/native_ios/UnityAdsANE/UnityAdsANE.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/UnityAdsANE.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from native_ios/UnityAdsANE/UnityAdsANE.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to ios/UnityAdsANE.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/native_ios/UnityAdsANE/UnityAdsANE/UnityAdsANE.h b/ios/UnityAdsANE/UnityAdsANE.h similarity index 100% rename from native_ios/UnityAdsANE/UnityAdsANE/UnityAdsANE.h rename to ios/UnityAdsANE/UnityAdsANE.h diff --git a/native_ios/UnityAdsANE/UnityAdsANE/UnityAdsANE.m b/ios/UnityAdsANE/UnityAdsANE.m similarity index 100% rename from native_ios/UnityAdsANE/UnityAdsANE/UnityAdsANE.m rename to ios/UnityAdsANE/UnityAdsANE.m diff --git a/native_ios/FacebookANE/FacebookANETests/Info.plist b/ios/UnityAdsANETests/Info.plist similarity index 100% rename from native_ios/FacebookANE/FacebookANETests/Info.plist rename to ios/UnityAdsANETests/Info.plist diff --git a/ios/UnityAds.bundle/Info.plist b/ios/Vendor/UnityAds.bundle/Info.plist old mode 100755 new mode 100644 similarity index 100% rename from ios/UnityAds.bundle/Info.plist rename to ios/Vendor/UnityAds.bundle/Info.plist diff --git a/ios/UnityAds.bundle/audio_mute.png b/ios/Vendor/UnityAds.bundle/audio_mute.png old mode 100755 new mode 100644 similarity index 100% rename from ios/UnityAds.bundle/audio_mute.png rename to ios/Vendor/UnityAds.bundle/audio_mute.png diff --git a/ios/UnityAds.bundle/audio_mute@2x.png b/ios/Vendor/UnityAds.bundle/audio_mute@2x.png old mode 100755 new mode 100644 similarity index 100% rename from ios/UnityAds.bundle/audio_mute@2x.png rename to ios/Vendor/UnityAds.bundle/audio_mute@2x.png diff --git a/ios/UnityAds.bundle/audio_on.png b/ios/Vendor/UnityAds.bundle/audio_on.png old mode 100755 new mode 100644 similarity index 100% rename from ios/UnityAds.bundle/audio_on.png rename to ios/Vendor/UnityAds.bundle/audio_on.png diff --git a/ios/UnityAds.bundle/audio_on@2x.png b/ios/Vendor/UnityAds.bundle/audio_on@2x.png old mode 100755 new mode 100644 similarity index 100% rename from ios/UnityAds.bundle/audio_on@2x.png rename to ios/Vendor/UnityAds.bundle/audio_on@2x.png diff --git a/ios/UnityAds.bundle/en.lproj/InfoPlist.strings b/ios/Vendor/UnityAds.bundle/en.lproj/InfoPlist.strings old mode 100755 new mode 100644 similarity index 100% rename from ios/UnityAds.bundle/en.lproj/InfoPlist.strings rename to ios/Vendor/UnityAds.bundle/en.lproj/InfoPlist.strings diff --git a/ios/UnityAds.framework/Headers/ApplifierImpact.h b/ios/Vendor/UnityAds.framework/Headers/ApplifierImpact.h old mode 100755 new mode 100644 similarity index 100% rename from ios/UnityAds.framework/Headers/ApplifierImpact.h rename to ios/Vendor/UnityAds.framework/Headers/ApplifierImpact.h diff --git a/ios/UnityAds.framework/Headers/UnityAds.h b/ios/Vendor/UnityAds.framework/Headers/UnityAds.h old mode 100755 new mode 100644 similarity index 100% rename from ios/UnityAds.framework/Headers/UnityAds.h rename to ios/Vendor/UnityAds.framework/Headers/UnityAds.h diff --git a/ios/UnityAds.framework/Resources/Info.plist b/ios/Vendor/UnityAds.framework/Resources/Info.plist old mode 100755 new mode 100644 similarity index 100% rename from ios/UnityAds.framework/Resources/Info.plist rename to ios/Vendor/UnityAds.framework/Resources/Info.plist diff --git a/ios/UnityAds.framework/Resources/en.lproj/InfoPlist.strings b/ios/Vendor/UnityAds.framework/Resources/en.lproj/InfoPlist.strings old mode 100755 new mode 100644 similarity index 100% rename from ios/UnityAds.framework/Resources/en.lproj/InfoPlist.strings rename to ios/Vendor/UnityAds.framework/Resources/en.lproj/InfoPlist.strings diff --git a/ios/UnityAds.framework/UnityAds b/ios/Vendor/UnityAds.framework/UnityAds old mode 100755 new mode 100644 similarity index 100% rename from ios/UnityAds.framework/UnityAds rename to ios/Vendor/UnityAds.framework/UnityAds diff --git a/ios/platform.xml b/ios/platform.xml new file mode 100644 index 0000000..0588fb5 --- /dev/null +++ b/ios/platform.xml @@ -0,0 +1,16 @@ + + 7.0 + + + + + + + + + + + + UnityAds.framework + + diff --git a/native_android/.classpath b/native_android/.classpath deleted file mode 100644 index 0839afe..0000000 --- a/native_android/.classpath +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/native_android/build.xml b/native_android/build.xml deleted file mode 100644 index 0e340ff..0000000 --- a/native_android/build.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - Cleaning up... - - - - - - Creating temporary folders... - - - - - - - - - - Copying files to build folder... - - - - - Copying files to jar output... - - - - \ No newline at end of file diff --git a/native_ios/FacebookANE/FacebookANE.xcodeproj/project.pbxproj b/native_ios/FacebookANE/FacebookANE.xcodeproj/project.pbxproj deleted file mode 100644 index 5fbf041..0000000 --- a/native_ios/FacebookANE/FacebookANE.xcodeproj/project.pbxproj +++ /dev/null @@ -1,399 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 861D2AD21A92B290001F1C22 /* FacebookANE.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 861D2AD11A92B290001F1C22 /* FacebookANE.h */; }; - 861D2AD41A92B290001F1C22 /* FacebookANE.m in Sources */ = {isa = PBXBuildFile; fileRef = 861D2AD31A92B290001F1C22 /* FacebookANE.m */; }; - 861D2ADA1A92B290001F1C22 /* libFacebookANE.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 861D2ACE1A92B290001F1C22 /* libFacebookANE.a */; }; - 861D2AEB1A9431AE001F1C22 /* FBAudienceNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 861D2AEA1A9431AE001F1C22 /* FBAudienceNetwork.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 861D2ADB1A92B290001F1C22 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 861D2AC61A92B290001F1C22 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 861D2ACD1A92B290001F1C22; - remoteInfo = FacebookANE; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 861D2ACC1A92B290001F1C22 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = "include/$(PRODUCT_NAME)"; - dstSubfolderSpec = 16; - files = ( - 861D2AD21A92B290001F1C22 /* FacebookANE.h in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 861D2ACE1A92B290001F1C22 /* libFacebookANE.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libFacebookANE.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 861D2AD11A92B290001F1C22 /* FacebookANE.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FacebookANE.h; sourceTree = ""; }; - 861D2AD31A92B290001F1C22 /* FacebookANE.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FacebookANE.m; sourceTree = ""; }; - 861D2AD91A92B290001F1C22 /* FacebookANETests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FacebookANETests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 861D2ADF1A92B290001F1C22 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 861D2AE91A92B31B001F1C22 /* FlashRuntimeExtensions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FlashRuntimeExtensions.h; sourceTree = ""; }; - 861D2AEA1A9431AE001F1C22 /* FBAudienceNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FBAudienceNetwork.framework; path = ../../ios/FBAudienceNetwork.framework; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 861D2ACB1A92B290001F1C22 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 861D2AEB1A9431AE001F1C22 /* FBAudienceNetwork.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 861D2AD61A92B290001F1C22 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 861D2ADA1A92B290001F1C22 /* libFacebookANE.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 861D2AC51A92B290001F1C22 = { - isa = PBXGroup; - children = ( - 861D2AEA1A9431AE001F1C22 /* FBAudienceNetwork.framework */, - 861D2AE81A92B307001F1C22 /* Vendor */, - 861D2AD01A92B290001F1C22 /* FacebookANE */, - 861D2ADD1A92B290001F1C22 /* FacebookANETests */, - 861D2ACF1A92B290001F1C22 /* Products */, - ); - sourceTree = ""; - }; - 861D2ACF1A92B290001F1C22 /* Products */ = { - isa = PBXGroup; - children = ( - 861D2ACE1A92B290001F1C22 /* libFacebookANE.a */, - 861D2AD91A92B290001F1C22 /* FacebookANETests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 861D2AD01A92B290001F1C22 /* FacebookANE */ = { - isa = PBXGroup; - children = ( - 861D2AD11A92B290001F1C22 /* FacebookANE.h */, - 861D2AD31A92B290001F1C22 /* FacebookANE.m */, - ); - path = FacebookANE; - sourceTree = ""; - }; - 861D2ADD1A92B290001F1C22 /* FacebookANETests */ = { - isa = PBXGroup; - children = ( - 861D2ADE1A92B290001F1C22 /* Supporting Files */, - ); - path = FacebookANETests; - sourceTree = ""; - }; - 861D2ADE1A92B290001F1C22 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 861D2ADF1A92B290001F1C22 /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 861D2AE81A92B307001F1C22 /* Vendor */ = { - isa = PBXGroup; - children = ( - 861D2AE91A92B31B001F1C22 /* FlashRuntimeExtensions.h */, - ); - name = Vendor; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 861D2ACD1A92B290001F1C22 /* FacebookANE */ = { - isa = PBXNativeTarget; - buildConfigurationList = 861D2AE21A92B290001F1C22 /* Build configuration list for PBXNativeTarget "FacebookANE" */; - buildPhases = ( - 861D2ACA1A92B290001F1C22 /* Sources */, - 861D2ACB1A92B290001F1C22 /* Frameworks */, - 861D2ACC1A92B290001F1C22 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = FacebookANE; - productName = FacebookANE; - productReference = 861D2ACE1A92B290001F1C22 /* libFacebookANE.a */; - productType = "com.apple.product-type.library.static"; - }; - 861D2AD81A92B290001F1C22 /* FacebookANETests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 861D2AE51A92B290001F1C22 /* Build configuration list for PBXNativeTarget "FacebookANETests" */; - buildPhases = ( - 861D2AD51A92B290001F1C22 /* Sources */, - 861D2AD61A92B290001F1C22 /* Frameworks */, - 861D2AD71A92B290001F1C22 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 861D2ADC1A92B290001F1C22 /* PBXTargetDependency */, - ); - name = FacebookANETests; - productName = FacebookANETests; - productReference = 861D2AD91A92B290001F1C22 /* FacebookANETests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 861D2AC61A92B290001F1C22 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0610; - ORGANIZATIONNAME = Heyzap; - TargetAttributes = { - 861D2ACD1A92B290001F1C22 = { - CreatedOnToolsVersion = 6.1.1; - }; - 861D2AD81A92B290001F1C22 = { - CreatedOnToolsVersion = 6.1.1; - }; - }; - }; - buildConfigurationList = 861D2AC91A92B290001F1C22 /* Build configuration list for PBXProject "FacebookANE" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 861D2AC51A92B290001F1C22; - productRefGroup = 861D2ACF1A92B290001F1C22 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 861D2ACD1A92B290001F1C22 /* FacebookANE */, - 861D2AD81A92B290001F1C22 /* FacebookANETests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 861D2AD71A92B290001F1C22 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 861D2ACA1A92B290001F1C22 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 861D2AD41A92B290001F1C22 /* FacebookANE.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 861D2AD51A92B290001F1C22 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 861D2ADC1A92B290001F1C22 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 861D2ACD1A92B290001F1C22 /* FacebookANE */; - targetProxy = 861D2ADB1A92B290001F1C22 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 861D2AE01A92B290001F1C22 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = Debug; - }; - 861D2AE11A92B290001F1C22 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 861D2AE31A92B290001F1C22 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "/Users/drhodes/Projects/facebook-ane/ios", - ); - OTHER_LDFLAGS = ( - "-ObjC", - "-all_load", - ); - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - 861D2AE41A92B290001F1C22 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "/Users/drhodes/Projects/facebook-ane/ios", - ); - OTHER_LDFLAGS = ( - "-ObjC", - "-all_load", - ); - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - }; - name = Release; - }; - 861D2AE61A92B290001F1C22 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = FacebookANETests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 861D2AE71A92B290001F1C22 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); - INFOPLIST_FILE = FacebookANETests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 861D2AC91A92B290001F1C22 /* Build configuration list for PBXProject "FacebookANE" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 861D2AE01A92B290001F1C22 /* Debug */, - 861D2AE11A92B290001F1C22 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 861D2AE21A92B290001F1C22 /* Build configuration list for PBXNativeTarget "FacebookANE" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 861D2AE31A92B290001F1C22 /* Debug */, - 861D2AE41A92B290001F1C22 /* Release */, - ); - defaultConfigurationIsVisible = 0; - }; - 861D2AE51A92B290001F1C22 /* Build configuration list for PBXNativeTarget "FacebookANETests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 861D2AE61A92B290001F1C22 /* Debug */, - 861D2AE71A92B290001F1C22 /* Release */, - ); - defaultConfigurationIsVisible = 0; - }; -/* End XCConfigurationList section */ - }; - rootObject = 861D2AC61A92B290001F1C22 /* Project object */; -} diff --git a/native_ios/FacebookANE/FacebookANE.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/native_ios/FacebookANE/FacebookANE.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 696abfa..0000000 --- a/native_ios/FacebookANE/FacebookANE.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/native_ios/FacebookANE/FacebookANE/FacebookANE.h b/native_ios/FacebookANE/FacebookANE/FacebookANE.h deleted file mode 100644 index b0003eb..0000000 --- a/native_ios/FacebookANE/FacebookANE/FacebookANE.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// FacebookANE.h -// FacebookANE -// -// Created by Daniel Rhodes on 2/16/15. -// Copyright (c) 2015 Heyzap. All rights reserved. -// - -#import "FlashRuntimeExtensions.h" - -void FacebookANEContextInitializer(void* extData, const uint8_t* ctxType, FREContext ctx, - uint32_t* numFunctionsToSet, const FRENamedFunction** functionsToSet); - -void FacebookANEContextFinalizer(FREContext ctx); - -void FacebookANEExtInitializer(void** extDataToSet, FREContextInitializer* ctxInitializerToSet, - FREContextFinalizer* ctxFinalizerToSet); - -void FacebookANEFinalizer(void* extData); diff --git a/native_ios/FacebookANE/FacebookANE/FacebookANE.m b/native_ios/FacebookANE/FacebookANE/FacebookANE.m deleted file mode 100644 index 87801ed..0000000 --- a/native_ios/FacebookANE/FacebookANE/FacebookANE.m +++ /dev/null @@ -1,41 +0,0 @@ -// -// FacebookANE.m -// FacebookANE -// -// Created by Daniel Rhodes on 2/16/15. -// Copyright (c) 2015 Heyzap. All rights reserved. -// - -#import "FacebookANE.h" -#import "FlashRuntimeExtensions.h" -#import - -/** context lifecycle methods */ - -void FacebookANEContextInitializer(void* extData, const uint8_t* ctxType, FREContext ctx, - uint32_t* numFunctionsToSet, const FRENamedFunction** functionsToSet) { - - static FRENamedFunction functionMap[] = {}; - *numFunctionsToSet = sizeof(functionMap) / sizeof(FRENamedFunction); - *functionsToSet = functionMap; -} - -void FacebookANEContextFinalizer(FREContext ctx) { - // context clean up - return; -} - - -/** extension lifecycle methods */ - -void FacebookANEInitializer(void** extDataToSet, FREContextInitializer* ctxInitializerToSet, - FREContextFinalizer* ctxFinalizerToSet) { - *extDataToSet = NULL; - *ctxInitializerToSet = &FacebookANEContextInitializer; - *ctxFinalizerToSet = &FacebookANEContextFinalizer; -} - -void FacebookANEFinalizer(void* extData) { - // ext cleanup -- no call guarantee - return; -} diff --git a/native_ios/FacebookANE/FlashRuntimeExtensions.h b/native_ios/FacebookANE/FlashRuntimeExtensions.h deleted file mode 100644 index 2827487..0000000 --- a/native_ios/FacebookANE/FlashRuntimeExtensions.h +++ /dev/null @@ -1,633 +0,0 @@ -// ADOBE CONFIDENTIAL -// -// Copyright 2011 Adobe Systems Incorporated All Rights Reserved. -// -// NOTICE: All information contained herein is, and remains the property of -// Adobe Systems Incorporated and its suppliers, if any. The intellectual and -// technical concepts contained herein are proprietary to Adobe Systems -// Incorporated and its suppliers and may be covered by U.S. and Foreign -// Patents, patents in process, and are protected by trade secret or copyright -// law. Dissemination of this information or reproduction of this material -// is strictly forbidden unless prior written permission is obtained from -// Adobe Systems Incorporated. - -// AdobePatentID="P969" - -#ifdef WIN32 -typedef unsigned __int32 uint32_t; -typedef unsigned __int8 uint8_t; -typedef __int32 int32_t; -#else -#include -#endif - -#ifndef FRNATIVEEXTENSIONS_H_ -#define FRNATIVEEXTENSIONS_H_ - -#ifdef __cplusplus -extern "C" { -#endif - - typedef void * FREContext; - typedef void * FREObject; - - /* Initialization *************************************************************/ - - /** - * Defines the signature for native calls that can be invoked via an - * instance of the AS ExtensionContext class. - * - * @return The return value corresponds to the return value - * from the AS ExtensionContext class call() method. It defaults to - * FRE_INVALID_OBJECT, which is reported as null in AS. - */ - - typedef FREObject (*FREFunction)( - FREContext ctx, - void* functionData, - uint32_t argc, - FREObject argv[] - ); - - typedef struct FRENamedFunction_ { - const uint8_t* name; - void* functionData; - FREFunction function; - } FRENamedFunction; - - /** - * Defines the signature for the initializer that is called each time - * a new AS ExtensionContext object is created. - * - * @param extData The extension client data provided to the FREInitializer function as extDataToSet. - * - * @param ctxType Pointer to the contextType string (UTF8) as provided to the AS createExtensionContext call. - * - * @param ctx The FREContext being initialized. - * - * @param numFunctionsToSet The number of elements in the functionsToSet array. - * - * @param functionsToSet A pointer to an array of FRENamedFunction elements. - */ - - typedef void (*FREContextInitializer)( - void* extData , - const uint8_t* ctxType , - FREContext ctx , - uint32_t* numFunctionsToSet, - const FRENamedFunction** functionsToSet - ); - - /** - * Defines the signature for the finalizer that is called each time - * an ExtensionContext instance is disposed. - */ - - typedef void (*FREContextFinalizer)( - FREContext ctx - ); - - /** - * The initialization function provided by each extension must conform - * to the following signature. - * - * @param extDataToSet Provided for the extension to store per-extension instance data. - * For example, if the extension creates - * globals per-instance, it can store a pointer to them here. - * - * @param ctxInitializerToSet Must be set to a pointer to a function - * of type FREContextInitializer. Will be invoked whenever - * the ActionScript code creates a new context for this extension. - * - * @param ctxFinalizerToSet Must be set to a pointer to a function - * of type FREContextFinalizer. - */ - - typedef void (*FREInitializer)( - void** extDataToSet , - FREContextInitializer* ctxInitializerToSet, - FREContextFinalizer* ctxFinalizerToSet - ); - - /** - * Called iff the extension is unloaded from the process. Extensions - * are not guaranteed to be unloaded; the runtime process may exit without - * doing so. - */ - - typedef void (*FREFinalizer)( - void* extData - ); - - /* Result Codes ***************************************************************/ - /** - * These values must not be changed. - */ - - typedef enum { - FRE_OK = 0, - FRE_NO_SUCH_NAME = 1, - FRE_INVALID_OBJECT = 2, - FRE_TYPE_MISMATCH = 3, - FRE_ACTIONSCRIPT_ERROR = 4, - FRE_INVALID_ARGUMENT = 5, - FRE_READ_ONLY = 6, - FRE_WRONG_THREAD = 7, - FRE_ILLEGAL_STATE = 8, - FRE_INSUFFICIENT_MEMORY = 9, - FREResult_ENUMPADDING = 0xfffff /* will ensure that C and C++ treat this enum as the same size. */ - } FREResult; - - /* Context Data ************************************************************/ - - /** - * @returns FRE_OK - * FRE_WRONG_THREAD - * FRE_INVALID_ARGUMENT If nativeData is null. - */ - - FREResult FREGetContextNativeData( FREContext ctx, void** nativeData ); - - /** - * @returns FRE_OK - * FRE_INVALID_ARGUMENT - * FRE_WRONG_THREAD - */ - - FREResult FRESetContextNativeData( FREContext ctx, void* nativeData ); - - /** - * @returns FRE_OK - * FRE_WRONG_THREAD - * FRE_INVALID_ARGUMENT If actionScriptData is null. - */ - - FREResult FREGetContextActionScriptData( FREContext ctx, FREObject *actionScriptData ); - - /** - * @returns FRE_OK - * FRE_WRONG_THREAD - */ - - FREResult FRESetContextActionScriptData( FREContext ctx, FREObject actionScriptData ); - - /* Primitive Types ************************************************************/ - /** - * These values must not be changed. - */ - - typedef enum { - FRE_TYPE_OBJECT = 0, - FRE_TYPE_NUMBER = 1, - FRE_TYPE_STRING = 2, - FRE_TYPE_BYTEARRAY = 3, - FRE_TYPE_ARRAY = 4, - FRE_TYPE_VECTOR = 5, - FRE_TYPE_BITMAPDATA = 6, - FRE_TYPE_BOOLEAN = 7, - FRE_TYPE_NULL = 8, - FREObjectType_ENUMPADDING = 0xfffff /* will ensure that C and C++ treat this enum as the same size. */ - } FREObjectType; - - /** - * @returns FRE_OK - * FRE_INVALID_OBJECT - * FRE_WRONG_THREAD - * FRE_INVALID_ARGUMENT If objectType is null. - */ - - FREResult FREGetObjectType( FREObject object, FREObjectType *objectType ); - - /** - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_WRONG_THREAD - */ - - FREResult FREGetObjectAsInt32 ( FREObject object, int32_t *value ); - FREResult FREGetObjectAsUint32( FREObject object, uint32_t *value ); - FREResult FREGetObjectAsDouble( FREObject object, double *value ); - FREResult FREGetObjectAsBool ( FREObject object, uint32_t *value ); - - /** - * @return FRE_OK - * FRE_INVALID_ARGUMENT - * FRE_WRONG_THREAD - */ - - FREResult FRENewObjectFromInt32 ( int32_t value, FREObject *object ); - FREResult FRENewObjectFromUint32( uint32_t value, FREObject *object ); - FREResult FRENewObjectFromDouble( double value, FREObject *object ); - FREResult FRENewObjectFromBool ( uint32_t value, FREObject *object ); - - /** - * Retrieves a string representation of the object referred to by - * the given object. The referenced string is immutable and valid - * only for duration of the call to a registered function. If the - * caller wishes to keep the the string, they must keep a copy of it. - * - * @param object The string to be retrieved. - * - * @param length The size, in bytes, of the string. Includes the - * null terminator. - * - * @param value A pointer to a possibly temporary copy of the string. - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_WRONG_THREAD - */ - - FREResult FREGetObjectAsUTF8( - FREObject object, - uint32_t* length, - const uint8_t** value - ); - - /** - * Creates a new String object that contains a copy of the specified - * string. - * - * @param length The length, in bytes, of the original string. Must include - * the null terminator. - * - * @param value A pointer to the original string. - * - * @param object Receives a reference to the new string object. - * - * @return FRE_OK - * FRE_INVALID_ARGUMENT - * FRE_WRONG_THREAD - */ - - FREResult FRENewObjectFromUTF8( - uint32_t length, - const uint8_t* value , - FREObject* object - ); - - /* Object Access **************************************************************/ - - /** - * @param className UTF8-encoded name of the class being constructed. - * - * @param thrownException A pointer to a handle that can receive the handle of any ActionScript - * Error thrown during execution. May be null if the caller does not - * want to receive this handle. If not null and no error occurs, is set an - * invalid handle value. - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_ACTIONSCRIPT_ERROR If an ActionScript exception results from calling this method. - * In this case, thrownException will be set to the handle of the thrown value. - * FRE_ILLEGAL_STATE If a ByteArray or BitmapData has been acquired and not yet released. - * FRE_NO_SUCH_NAME - * FRE_WRONG_THREAD - */ - - FREResult FRENewObject( - const uint8_t* className , - uint32_t argc , - FREObject argv[] , - FREObject* object , - FREObject* thrownException - ); - - /** - * @param propertyName UTF8-encoded name of the property being fetched. - * - * @param thrownException A pointer to a handle that can receive the handle of any ActionScript - * Error thrown during getting the property. May be null if the caller does not - * want to receive this handle. If not null and no error occurs, is set an - * invalid handle value. - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * - * FRE_ACTIONSCRIPT_ERROR If an ActionScript exception results from getting this property. - * In this case, thrownException will be set to the handle of the thrown value. - * - * FRE_NO_SUCH_NAME If the named property doesn't exist, or if the reference is ambiguous - * because the property exists in more than one namespace. - * - * FRE_ILLEGAL_STATE If a ByteArray or BitmapData has been acquired and not yet released. - * - * FRE_WRONG_THREAD - */ - - FREResult FREGetObjectProperty( - FREObject object , - const uint8_t* propertyName , - FREObject* propertyValue , - FREObject* thrownException - ); - - /** - * @param propertyName UTF8-encoded name of the property being set. - * - * @param thrownException A pointer to a handle that can receive the handle of any ActionScript - * Error thrown during method execution. May be null if the caller does not - * want to receive this handle. If not null and no error occurs, is set an - * invalid handle value. - * - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_ACTIONSCRIPT_ERROR If an ActionScript exception results from getting this property. - * In this case, thrownException will be set to the handle of the thrown value. - * - * FRE_NO_SUCH_NAME If the named property doesn't exist, or if the reference is ambiguous - * because the property exists in more than one namespace. - * - * FRE_ILLEGAL_STATE If a ByteArray or BitmapData has been acquired and not yet released. - * - * FRE_READ_ONLY - * FRE_WRONG_THREAD - */ - - FREResult FRESetObjectProperty( - FREObject object , - const uint8_t* propertyName , - FREObject propertyValue , - FREObject* thrownException - ); - - /** - * @param methodName UTF8-encoded null-terminated name of the method being invoked. - * - * @param thrownException A pointer to a handle that can receive the handle of any ActionScript - * Error thrown during method execution. May be null if the caller does not - * want to receive this handle. If not null and no error occurs, is set an - * invalid handle value. - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_ACTIONSCRIPT_ERROR If an ActionScript exception results from calling this method. - * In this case, thrownException will be set to the handle of the thrown value. - * - * FRE_NO_SUCH_NAME If the named method doesn't exist, or if the reference is ambiguous - * because the method exists in more than one namespace. - * - * FRE_ILLEGAL_STATE If a ByteArray or BitmapData has been acquired and not yet released. - * - * FRE_WRONG_THREAD - */ - - FREResult FRECallObjectMethod ( - FREObject object , - const uint8_t* methodName , - uint32_t argc , - FREObject argv[] , - FREObject* result , - FREObject* thrownException - ); - - /* BitmapData Access **********************************************************/ - - typedef struct { - uint32_t width; /* width of the BitmapData bitmap */ - uint32_t height; /* height of the BitmapData bitmap */ - uint32_t hasAlpha; /* if non-zero, pixel format is ARGB32, otherwise pixel format is _RGB32, host endianness */ - uint32_t isPremultiplied; /* pixel color values are premultiplied with alpha if non-zero, un-multiplied if zero */ - uint32_t lineStride32; /* line stride in number of 32 bit values, typically the same as width */ - uint32_t* bits32; /* pointer to the first 32-bit pixel of the bitmap data */ - } FREBitmapData; - - typedef struct { - uint32_t width; /* width of the BitmapData bitmap */ - uint32_t height; /* height of the BitmapData bitmap */ - uint32_t hasAlpha; /* if non-zero, pixel format is ARGB32, otherwise pixel format is _RGB32, host endianness */ - uint32_t isPremultiplied; /* pixel color values are premultiplied with alpha if non-zero, un-multiplied if zero */ - uint32_t lineStride32; /* line stride in number of 32 bit values, typically the same as width */ - uint32_t isInvertedY; /* if non-zero, last row of pixels starts at bits32, otherwise, first row of pixels starts at bits32. */ - uint32_t* bits32; /* pointer to the first 32-bit pixel of the bitmap data */ - } FREBitmapData2; - - /** - * Referenced data is valid only for duration of the call - * to a registered function. - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_WRONG_THREAD - * FRE_ILLEGAL_STATE - */ - - FREResult FREAcquireBitmapData( - FREObject object , - FREBitmapData* descriptorToSet - ); - - /** - * Referenced data is valid only for duration of the call - * to a registered function. - * - * Use of this API requires that the extension and application must be packaged for - * the 3.1 namespace or later. - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_WRONG_THREAD - * FRE_ILLEGAL_STATE - */ - - FREResult FREAcquireBitmapData2( - FREObject object , - FREBitmapData2* descriptorToSet - ); - - /** - * BitmapData must be acquired to call this. Clients must invalidate any region - * they modify in order to notify AIR of the changes. Only invalidated regions - * are redrawn. - * - * @return FRE_OK - * FRE_INVALID_OBJECT - * FRE_WRONG_THREAD - * FRE_ILLEGAL_STATE - * FRE_TYPE_MISMATCH - */ - - FREResult FREInvalidateBitmapDataRect( - FREObject object, - uint32_t x , - uint32_t y , - uint32_t width , - uint32_t height - ); - /** - * @return FRE_OK - * FRE_WRONG_THREAD - * FRE_ILLEGAL_STATE - * FRE_TYPE_MISMATCH - */ - - FREResult FREReleaseBitmapData( FREObject object ); - - /** - * Referenced data is valid only for duration of the call - * to a registered function. - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_WRONG_THREAD - */ - - /* ByteArray Access ***********************************************************/ - - typedef struct { - uint32_t length; - uint8_t* bytes; - } FREByteArray; - - /** - * Referenced data is valid only for duration of the call - * to a registered function. - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_WRONG_THREAD - * FRE_ILLEGAL_STATE - */ - - FREResult FREAcquireByteArray( - FREObject object , - FREByteArray* byteArrayToSet - ); - - /** - * @return FRE_OK - * FRE_INVALID_OBJECT - * FRE_ILLEGAL_STATE - * FRE_WRONG_THREAD - */ - - FREResult FREReleaseByteArray( FREObject object ); - - /* Array and Vector Access ****************************************************/ - - /** - * @return FRE_OK - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_ILLEGAL_STATE - * FRE_TYPE_MISMATCH - * FRE_WRONG_THREAD - */ - - FREResult FREGetArrayLength( - FREObject arrayOrVector, - uint32_t* length - ); - - /** - * @return FRE_OK - * FRE_INVALID_OBJECT - * FRE_TYPE_MISMATCH - * FRE_ILLEGAL_STATE - * FRE_INVALID_ARGUMENT If length is greater than 2^32. - * - * FRE_READ_ONLY If the handle refers to a Vector - * of fixed size. - * - * FRE_WRONG_THREAD - * FRE_INSUFFICIENT_MEMORY - */ - - FREResult FRESetArrayLength( - FREObject arrayOrVector, - uint32_t length - ); - - /** - * If an Array is sparse and an element that isn't defined is requested, the - * return value will be FRE_OK but the handle value will be invalid. - * - * @return FRE_OK - * FRE_ILLEGAL_STATE - * - * FRE_INVALID_ARGUMENT If the handle refers to a vector and the index is - * greater than the size of the array. - * - * FRE_INVALID_OBJECT - * FRE_TYPE_MISMATCH - * FRE_WRONG_THREAD - */ - - FREResult FREGetArrayElementAt( - FREObject arrayOrVector, - uint32_t index , - FREObject* value - ); - - /** - * - * @return FRE_OK - * FRE_INVALID_OBJECT - * FRE_ILLEGAL_STATE - * - * FRE_TYPE_MISMATCH If an attempt to made to set a value in a Vector - * when the type of the value doesn't match the Vector's item type. - * - * FRE_WRONG_THREAD - */ - - FREResult FRESetArrayElementAt( - FREObject arrayOrVector, - uint32_t index , - FREObject value - ); - - /* Callbacks ******************************************************************/ - - /** - * Causes a StatusEvent to be dispatched from the associated - * ExtensionContext object. - * - * Dispatch happens asynchronously, even if this is called during - * a call to a registered function. - * - * The ActionScript portion of this extension can listen for that event - * and, upon receipt, query the native portion for details of the event - * that occurred. - * - * This call is thread-safe and may be invoked from any thread. The string - * values are copied before the call returns. - * - * @return FRE_OK In all circumstances, as the referenced object cannot - * necessarily be checked for validity on the invoking thread. - * However, no event will be dispatched if the object is - * invalid or not an EventDispatcher. - * FRE_INVALID_ARGUMENT If code or level is NULL - */ - - FREResult FREDispatchStatusEventAsync( - FREContext ctx , - const uint8_t* code , - const uint8_t* level - ); - -#ifdef __cplusplus -} -#endif - -#endif /* #ifndef _FLASH_RUNTIME_EXTENSIONS_H_ */ \ No newline at end of file diff --git a/native_ios/UnityAdsANE/FlashRuntimeExtensions.h b/native_ios/UnityAdsANE/FlashRuntimeExtensions.h deleted file mode 100644 index 2827487..0000000 --- a/native_ios/UnityAdsANE/FlashRuntimeExtensions.h +++ /dev/null @@ -1,633 +0,0 @@ -// ADOBE CONFIDENTIAL -// -// Copyright 2011 Adobe Systems Incorporated All Rights Reserved. -// -// NOTICE: All information contained herein is, and remains the property of -// Adobe Systems Incorporated and its suppliers, if any. The intellectual and -// technical concepts contained herein are proprietary to Adobe Systems -// Incorporated and its suppliers and may be covered by U.S. and Foreign -// Patents, patents in process, and are protected by trade secret or copyright -// law. Dissemination of this information or reproduction of this material -// is strictly forbidden unless prior written permission is obtained from -// Adobe Systems Incorporated. - -// AdobePatentID="P969" - -#ifdef WIN32 -typedef unsigned __int32 uint32_t; -typedef unsigned __int8 uint8_t; -typedef __int32 int32_t; -#else -#include -#endif - -#ifndef FRNATIVEEXTENSIONS_H_ -#define FRNATIVEEXTENSIONS_H_ - -#ifdef __cplusplus -extern "C" { -#endif - - typedef void * FREContext; - typedef void * FREObject; - - /* Initialization *************************************************************/ - - /** - * Defines the signature for native calls that can be invoked via an - * instance of the AS ExtensionContext class. - * - * @return The return value corresponds to the return value - * from the AS ExtensionContext class call() method. It defaults to - * FRE_INVALID_OBJECT, which is reported as null in AS. - */ - - typedef FREObject (*FREFunction)( - FREContext ctx, - void* functionData, - uint32_t argc, - FREObject argv[] - ); - - typedef struct FRENamedFunction_ { - const uint8_t* name; - void* functionData; - FREFunction function; - } FRENamedFunction; - - /** - * Defines the signature for the initializer that is called each time - * a new AS ExtensionContext object is created. - * - * @param extData The extension client data provided to the FREInitializer function as extDataToSet. - * - * @param ctxType Pointer to the contextType string (UTF8) as provided to the AS createExtensionContext call. - * - * @param ctx The FREContext being initialized. - * - * @param numFunctionsToSet The number of elements in the functionsToSet array. - * - * @param functionsToSet A pointer to an array of FRENamedFunction elements. - */ - - typedef void (*FREContextInitializer)( - void* extData , - const uint8_t* ctxType , - FREContext ctx , - uint32_t* numFunctionsToSet, - const FRENamedFunction** functionsToSet - ); - - /** - * Defines the signature for the finalizer that is called each time - * an ExtensionContext instance is disposed. - */ - - typedef void (*FREContextFinalizer)( - FREContext ctx - ); - - /** - * The initialization function provided by each extension must conform - * to the following signature. - * - * @param extDataToSet Provided for the extension to store per-extension instance data. - * For example, if the extension creates - * globals per-instance, it can store a pointer to them here. - * - * @param ctxInitializerToSet Must be set to a pointer to a function - * of type FREContextInitializer. Will be invoked whenever - * the ActionScript code creates a new context for this extension. - * - * @param ctxFinalizerToSet Must be set to a pointer to a function - * of type FREContextFinalizer. - */ - - typedef void (*FREInitializer)( - void** extDataToSet , - FREContextInitializer* ctxInitializerToSet, - FREContextFinalizer* ctxFinalizerToSet - ); - - /** - * Called iff the extension is unloaded from the process. Extensions - * are not guaranteed to be unloaded; the runtime process may exit without - * doing so. - */ - - typedef void (*FREFinalizer)( - void* extData - ); - - /* Result Codes ***************************************************************/ - /** - * These values must not be changed. - */ - - typedef enum { - FRE_OK = 0, - FRE_NO_SUCH_NAME = 1, - FRE_INVALID_OBJECT = 2, - FRE_TYPE_MISMATCH = 3, - FRE_ACTIONSCRIPT_ERROR = 4, - FRE_INVALID_ARGUMENT = 5, - FRE_READ_ONLY = 6, - FRE_WRONG_THREAD = 7, - FRE_ILLEGAL_STATE = 8, - FRE_INSUFFICIENT_MEMORY = 9, - FREResult_ENUMPADDING = 0xfffff /* will ensure that C and C++ treat this enum as the same size. */ - } FREResult; - - /* Context Data ************************************************************/ - - /** - * @returns FRE_OK - * FRE_WRONG_THREAD - * FRE_INVALID_ARGUMENT If nativeData is null. - */ - - FREResult FREGetContextNativeData( FREContext ctx, void** nativeData ); - - /** - * @returns FRE_OK - * FRE_INVALID_ARGUMENT - * FRE_WRONG_THREAD - */ - - FREResult FRESetContextNativeData( FREContext ctx, void* nativeData ); - - /** - * @returns FRE_OK - * FRE_WRONG_THREAD - * FRE_INVALID_ARGUMENT If actionScriptData is null. - */ - - FREResult FREGetContextActionScriptData( FREContext ctx, FREObject *actionScriptData ); - - /** - * @returns FRE_OK - * FRE_WRONG_THREAD - */ - - FREResult FRESetContextActionScriptData( FREContext ctx, FREObject actionScriptData ); - - /* Primitive Types ************************************************************/ - /** - * These values must not be changed. - */ - - typedef enum { - FRE_TYPE_OBJECT = 0, - FRE_TYPE_NUMBER = 1, - FRE_TYPE_STRING = 2, - FRE_TYPE_BYTEARRAY = 3, - FRE_TYPE_ARRAY = 4, - FRE_TYPE_VECTOR = 5, - FRE_TYPE_BITMAPDATA = 6, - FRE_TYPE_BOOLEAN = 7, - FRE_TYPE_NULL = 8, - FREObjectType_ENUMPADDING = 0xfffff /* will ensure that C and C++ treat this enum as the same size. */ - } FREObjectType; - - /** - * @returns FRE_OK - * FRE_INVALID_OBJECT - * FRE_WRONG_THREAD - * FRE_INVALID_ARGUMENT If objectType is null. - */ - - FREResult FREGetObjectType( FREObject object, FREObjectType *objectType ); - - /** - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_WRONG_THREAD - */ - - FREResult FREGetObjectAsInt32 ( FREObject object, int32_t *value ); - FREResult FREGetObjectAsUint32( FREObject object, uint32_t *value ); - FREResult FREGetObjectAsDouble( FREObject object, double *value ); - FREResult FREGetObjectAsBool ( FREObject object, uint32_t *value ); - - /** - * @return FRE_OK - * FRE_INVALID_ARGUMENT - * FRE_WRONG_THREAD - */ - - FREResult FRENewObjectFromInt32 ( int32_t value, FREObject *object ); - FREResult FRENewObjectFromUint32( uint32_t value, FREObject *object ); - FREResult FRENewObjectFromDouble( double value, FREObject *object ); - FREResult FRENewObjectFromBool ( uint32_t value, FREObject *object ); - - /** - * Retrieves a string representation of the object referred to by - * the given object. The referenced string is immutable and valid - * only for duration of the call to a registered function. If the - * caller wishes to keep the the string, they must keep a copy of it. - * - * @param object The string to be retrieved. - * - * @param length The size, in bytes, of the string. Includes the - * null terminator. - * - * @param value A pointer to a possibly temporary copy of the string. - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_WRONG_THREAD - */ - - FREResult FREGetObjectAsUTF8( - FREObject object, - uint32_t* length, - const uint8_t** value - ); - - /** - * Creates a new String object that contains a copy of the specified - * string. - * - * @param length The length, in bytes, of the original string. Must include - * the null terminator. - * - * @param value A pointer to the original string. - * - * @param object Receives a reference to the new string object. - * - * @return FRE_OK - * FRE_INVALID_ARGUMENT - * FRE_WRONG_THREAD - */ - - FREResult FRENewObjectFromUTF8( - uint32_t length, - const uint8_t* value , - FREObject* object - ); - - /* Object Access **************************************************************/ - - /** - * @param className UTF8-encoded name of the class being constructed. - * - * @param thrownException A pointer to a handle that can receive the handle of any ActionScript - * Error thrown during execution. May be null if the caller does not - * want to receive this handle. If not null and no error occurs, is set an - * invalid handle value. - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_ACTIONSCRIPT_ERROR If an ActionScript exception results from calling this method. - * In this case, thrownException will be set to the handle of the thrown value. - * FRE_ILLEGAL_STATE If a ByteArray or BitmapData has been acquired and not yet released. - * FRE_NO_SUCH_NAME - * FRE_WRONG_THREAD - */ - - FREResult FRENewObject( - const uint8_t* className , - uint32_t argc , - FREObject argv[] , - FREObject* object , - FREObject* thrownException - ); - - /** - * @param propertyName UTF8-encoded name of the property being fetched. - * - * @param thrownException A pointer to a handle that can receive the handle of any ActionScript - * Error thrown during getting the property. May be null if the caller does not - * want to receive this handle. If not null and no error occurs, is set an - * invalid handle value. - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * - * FRE_ACTIONSCRIPT_ERROR If an ActionScript exception results from getting this property. - * In this case, thrownException will be set to the handle of the thrown value. - * - * FRE_NO_SUCH_NAME If the named property doesn't exist, or if the reference is ambiguous - * because the property exists in more than one namespace. - * - * FRE_ILLEGAL_STATE If a ByteArray or BitmapData has been acquired and not yet released. - * - * FRE_WRONG_THREAD - */ - - FREResult FREGetObjectProperty( - FREObject object , - const uint8_t* propertyName , - FREObject* propertyValue , - FREObject* thrownException - ); - - /** - * @param propertyName UTF8-encoded name of the property being set. - * - * @param thrownException A pointer to a handle that can receive the handle of any ActionScript - * Error thrown during method execution. May be null if the caller does not - * want to receive this handle. If not null and no error occurs, is set an - * invalid handle value. - * - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_ACTIONSCRIPT_ERROR If an ActionScript exception results from getting this property. - * In this case, thrownException will be set to the handle of the thrown value. - * - * FRE_NO_SUCH_NAME If the named property doesn't exist, or if the reference is ambiguous - * because the property exists in more than one namespace. - * - * FRE_ILLEGAL_STATE If a ByteArray or BitmapData has been acquired and not yet released. - * - * FRE_READ_ONLY - * FRE_WRONG_THREAD - */ - - FREResult FRESetObjectProperty( - FREObject object , - const uint8_t* propertyName , - FREObject propertyValue , - FREObject* thrownException - ); - - /** - * @param methodName UTF8-encoded null-terminated name of the method being invoked. - * - * @param thrownException A pointer to a handle that can receive the handle of any ActionScript - * Error thrown during method execution. May be null if the caller does not - * want to receive this handle. If not null and no error occurs, is set an - * invalid handle value. - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_ACTIONSCRIPT_ERROR If an ActionScript exception results from calling this method. - * In this case, thrownException will be set to the handle of the thrown value. - * - * FRE_NO_SUCH_NAME If the named method doesn't exist, or if the reference is ambiguous - * because the method exists in more than one namespace. - * - * FRE_ILLEGAL_STATE If a ByteArray or BitmapData has been acquired and not yet released. - * - * FRE_WRONG_THREAD - */ - - FREResult FRECallObjectMethod ( - FREObject object , - const uint8_t* methodName , - uint32_t argc , - FREObject argv[] , - FREObject* result , - FREObject* thrownException - ); - - /* BitmapData Access **********************************************************/ - - typedef struct { - uint32_t width; /* width of the BitmapData bitmap */ - uint32_t height; /* height of the BitmapData bitmap */ - uint32_t hasAlpha; /* if non-zero, pixel format is ARGB32, otherwise pixel format is _RGB32, host endianness */ - uint32_t isPremultiplied; /* pixel color values are premultiplied with alpha if non-zero, un-multiplied if zero */ - uint32_t lineStride32; /* line stride in number of 32 bit values, typically the same as width */ - uint32_t* bits32; /* pointer to the first 32-bit pixel of the bitmap data */ - } FREBitmapData; - - typedef struct { - uint32_t width; /* width of the BitmapData bitmap */ - uint32_t height; /* height of the BitmapData bitmap */ - uint32_t hasAlpha; /* if non-zero, pixel format is ARGB32, otherwise pixel format is _RGB32, host endianness */ - uint32_t isPremultiplied; /* pixel color values are premultiplied with alpha if non-zero, un-multiplied if zero */ - uint32_t lineStride32; /* line stride in number of 32 bit values, typically the same as width */ - uint32_t isInvertedY; /* if non-zero, last row of pixels starts at bits32, otherwise, first row of pixels starts at bits32. */ - uint32_t* bits32; /* pointer to the first 32-bit pixel of the bitmap data */ - } FREBitmapData2; - - /** - * Referenced data is valid only for duration of the call - * to a registered function. - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_WRONG_THREAD - * FRE_ILLEGAL_STATE - */ - - FREResult FREAcquireBitmapData( - FREObject object , - FREBitmapData* descriptorToSet - ); - - /** - * Referenced data is valid only for duration of the call - * to a registered function. - * - * Use of this API requires that the extension and application must be packaged for - * the 3.1 namespace or later. - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_WRONG_THREAD - * FRE_ILLEGAL_STATE - */ - - FREResult FREAcquireBitmapData2( - FREObject object , - FREBitmapData2* descriptorToSet - ); - - /** - * BitmapData must be acquired to call this. Clients must invalidate any region - * they modify in order to notify AIR of the changes. Only invalidated regions - * are redrawn. - * - * @return FRE_OK - * FRE_INVALID_OBJECT - * FRE_WRONG_THREAD - * FRE_ILLEGAL_STATE - * FRE_TYPE_MISMATCH - */ - - FREResult FREInvalidateBitmapDataRect( - FREObject object, - uint32_t x , - uint32_t y , - uint32_t width , - uint32_t height - ); - /** - * @return FRE_OK - * FRE_WRONG_THREAD - * FRE_ILLEGAL_STATE - * FRE_TYPE_MISMATCH - */ - - FREResult FREReleaseBitmapData( FREObject object ); - - /** - * Referenced data is valid only for duration of the call - * to a registered function. - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_WRONG_THREAD - */ - - /* ByteArray Access ***********************************************************/ - - typedef struct { - uint32_t length; - uint8_t* bytes; - } FREByteArray; - - /** - * Referenced data is valid only for duration of the call - * to a registered function. - * - * @return FRE_OK - * FRE_TYPE_MISMATCH - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_WRONG_THREAD - * FRE_ILLEGAL_STATE - */ - - FREResult FREAcquireByteArray( - FREObject object , - FREByteArray* byteArrayToSet - ); - - /** - * @return FRE_OK - * FRE_INVALID_OBJECT - * FRE_ILLEGAL_STATE - * FRE_WRONG_THREAD - */ - - FREResult FREReleaseByteArray( FREObject object ); - - /* Array and Vector Access ****************************************************/ - - /** - * @return FRE_OK - * FRE_INVALID_OBJECT - * FRE_INVALID_ARGUMENT - * FRE_ILLEGAL_STATE - * FRE_TYPE_MISMATCH - * FRE_WRONG_THREAD - */ - - FREResult FREGetArrayLength( - FREObject arrayOrVector, - uint32_t* length - ); - - /** - * @return FRE_OK - * FRE_INVALID_OBJECT - * FRE_TYPE_MISMATCH - * FRE_ILLEGAL_STATE - * FRE_INVALID_ARGUMENT If length is greater than 2^32. - * - * FRE_READ_ONLY If the handle refers to a Vector - * of fixed size. - * - * FRE_WRONG_THREAD - * FRE_INSUFFICIENT_MEMORY - */ - - FREResult FRESetArrayLength( - FREObject arrayOrVector, - uint32_t length - ); - - /** - * If an Array is sparse and an element that isn't defined is requested, the - * return value will be FRE_OK but the handle value will be invalid. - * - * @return FRE_OK - * FRE_ILLEGAL_STATE - * - * FRE_INVALID_ARGUMENT If the handle refers to a vector and the index is - * greater than the size of the array. - * - * FRE_INVALID_OBJECT - * FRE_TYPE_MISMATCH - * FRE_WRONG_THREAD - */ - - FREResult FREGetArrayElementAt( - FREObject arrayOrVector, - uint32_t index , - FREObject* value - ); - - /** - * - * @return FRE_OK - * FRE_INVALID_OBJECT - * FRE_ILLEGAL_STATE - * - * FRE_TYPE_MISMATCH If an attempt to made to set a value in a Vector - * when the type of the value doesn't match the Vector's item type. - * - * FRE_WRONG_THREAD - */ - - FREResult FRESetArrayElementAt( - FREObject arrayOrVector, - uint32_t index , - FREObject value - ); - - /* Callbacks ******************************************************************/ - - /** - * Causes a StatusEvent to be dispatched from the associated - * ExtensionContext object. - * - * Dispatch happens asynchronously, even if this is called during - * a call to a registered function. - * - * The ActionScript portion of this extension can listen for that event - * and, upon receipt, query the native portion for details of the event - * that occurred. - * - * This call is thread-safe and may be invoked from any thread. The string - * values are copied before the call returns. - * - * @return FRE_OK In all circumstances, as the referenced object cannot - * necessarily be checked for validity on the invoking thread. - * However, no event will be dispatched if the object is - * invalid or not an EventDispatcher. - * FRE_INVALID_ARGUMENT If code or level is NULL - */ - - FREResult FREDispatchStatusEventAsync( - FREContext ctx , - const uint8_t* code , - const uint8_t* level - ); - -#ifdef __cplusplus -} -#endif - -#endif /* #ifndef _FLASH_RUNTIME_EXTENSIONS_H_ */ \ No newline at end of file diff --git a/native_ios/UnityAdsANE/UnityAdsANETests/Info.plist b/native_ios/UnityAdsANE/UnityAdsANETests/Info.plist deleted file mode 100644 index 3378bb2..0000000 --- a/native_ios/UnityAdsANE/UnityAdsANETests/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - com.heyzap.$(PRODUCT_NAME:rfc1034identifier) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - -