I'm having some challenges trying to get a binding libraries made for this 3rd party product called Slyce... there sdks are on GitHub
Slyce-Android-SDK
Slyce-iOS-SDK
Using the meta file below on the Android side i can get it to compile but i can't get my project to build with the reference attached i get the following errors.
CameraFrame_ReleaseListenerImplementor.java(40,40): Error: error: ReleaseListener has protected access in CameraFrame
com.android.slyce.scanner.CameraFrame.ReleaseListener
CameraInstance_ListenerImplementor.java(43,43): Error: error: Listener has protected access in CameraInstance
com.android.slyce.scanner.CameraInstance.Listener
meta file
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<attr path="/api/package[@name='com.android.slyce.communication']/interface[@name='CommManager.On2DSearchListener']" name="argsType">OnTwoDSearchListener</attr>
<attr path="/api/package[@name='com.android.slyce.utils']/class[@name='Constants']/field[@name='_1D']"
name="managedName">OneD</attr>
<attr path="/api/package[@name='com.android.slyce.utils']/class[@name='Constants']/field[@name='_2D']"
name="managedName">TwoD</attr>
<attr path="/api/package[@name='com.android.slyce.utils']/class[@name='Constants']/field[@name='_3D']"
name="managedName">ThreeD</attr>
<attr path="/api/package[@name='com.android.slyce.utils']/class[@name='BarcodeHelper.ScannerType']/field[@name='_2D']"
name="managedName">TwoD</attr>
<attr path="/api/package[@name='com.android.slyce.utils']/class[@name='BarcodeHelper.ScannerType']/field[@name='_3D']"
name="managedName">ThreeD</attr>
<!--
Volley Stuff
-->
<!-- Change the name of the Request interface -->
<attr path="/api/package[@name='com.android.volley']/interface[@name='Request.Method']" name="managedName">RequestMethod</attr>
<attr path="/api/package[@name='com.android.volley']/class[@name='Request']/method[@name='compareTo' and count(parameter)=1 and parameter[1][@type='com.android.volley.Request<T>']]/parameter[1]" name="managedType">Java.Lang.Object</attr>
<attr path="/api/package[@name='com.android.volley.toolbox']/class[@name='ImageRequest']/method[@name='deliverResponse' and count(parameter)=1 and parameter[1][@type='android.graphics.Bitmap']]/parameter[1]" name="managedType">Java.Lang.Object</attr>
<remove-node path="/api/package[@name='com.android.volley.toolbox']/class[@name='JsonRequest']/method[@name='parseNetworkResponse' and count(parameter)=1 and parameter[1][@type='com.android.volley.NetworkResponse']]"/>
<!-- OnSlyceCameraListener-->
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceCameraListener']/method[@name='onCameraBarcodeDetected']" name="argsType">OnSlyceCameraListener_onCameraBarcodeDetected</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceCameraListener']/method[@name='onCameraBarcodeInfoReceived']" name="argsType">OnSlyceCameraListener_onCameraBarcodeInfoReceived</attr>
<!-- <attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceCameraListener']/method[@name='onCameraFinished']" name="argsType">OnSlyceCameraListener_onCameraFinished</attr>-->
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceCameraListener']/method[@name='onCameraImageDetected']" name="argsType">OnSlyceCameraListener_onCameraImageDetected</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceCameraListener']/method[@name='onCameraImageInfoReceived']" name="argsType">OnSlyceCameraListener_onCameraImageInfoReceived</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceCameraListener']/method[@name='onCameraPreviewMode']" name="argsType">OnSlyceCameraListener_onCameraPreviewMode</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceCameraListener']/method[@name='onCameraResultsReceived' ]" name="argsType">OnSlyceCameraListener_onCameraResultsReceived</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceCameraListener']/method[@name='onCameraSlyceProgress']" name="argsType">OnSlyceCameraListener_onCameraSlyceProgress</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceCameraListener']/method[@name='onCameraSlyceRequestStage' ]" name="argsType">OnSlyceCameraListener_onCameraSlyceRequestStage</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceCameraListener']/method[@name='onProgressExt']" name="argsType">OnSlyceCameraListener_onProgressExt</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceCameraListener']/method[@name='onResultsReceivedExt']" name="argsType">OnSlyceCameraListener_onResultsReceivedExt</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceCameraListener']/method[@name='onSlyceCameraError' ]" name="argsType">OnSlyceCameraListener_onSlyceCameraError</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceCameraListener']/method[@name='onSnap']" name="argsType">OnSlyceCameraListener_onSnap</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceCameraListener']/method[@name='onTap']" name="argsType">OnSlyceCameraListener_onTap</attr>
<!--OnSlyceRequestListener -->
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceRequestListener']/method[@name='onCameraBarcodeDetected']" name="argsType">OnSlyceRequestListener_onCameraBarcodeDetected</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceRequestListener']/method[@name='onCameraBarcodeInfoReceived']" name="argsType">OnSlyceRequestListener_onCameraBarcodeInfoReceived</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceRequestListener']/method[@name='onCameraFinished']" name="argsType">OnSlyceRequestListener_onCameraFinished</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceRequestListener']/method[@name='onCameraImageDetected']" name="argsType">OnSlyceRequestListener_onCameraImageDetected</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceRequestListener']/method[@name='onCameraImageInfoReceived']" name="argsType">OnSlyceRequestListener_onCameraImageInfoReceived</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceRequestListener']/method[@name='onCameraPreviewMode']" name="argsType">OnSlyceRequestListener_onCameraPreviewMode</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceRequestListener']/method[@name='onCameraResultsReceived' ]" name="argsType">OnSlyceRequestListener_onCameraResultsReceived</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceRequestListener']/method[@name='onCameraSlyceProgress']" name="argsType">OnSlyceRequestListener_onCameraSlyceProgress</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceRequestListener']/method[@name='onCameraSlyceRequestStage' ]" name="argsType">OnSlyceRequestListener_onCameraSlyceRequestStage</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceRequestListener']/method[@name='onProgressExt']" name="argsType">OnSlyceRequestListener_onProgressExt</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceRequestListener']/method[@name='onResultsReceivedExt']" name="argsType">OnSlyceRequestListener_onResultsReceivedExt</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceRequestListener']/method[@name='onSlyceCameraError' ]" name="argsType">OnSlyceRequestListener_onSlyceCameraError</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceRequestListener']/method[@name='onSnap']" name="argsType">OnSlyceRequestListener_onSnap</attr>
<attr path="/api/package[@name='com.android.slyce.listeners']/interface[@name='OnSlyceRequestListener']/method[@name='onTap']" name="argsType">OnSlyceRequestListener_onTap</attr>
<attr path="/api/package[@name='com.android.slyce.scanner']/interface[@name='CameraFrame.ReleaseListener']" name="visibility">public</attr>
<attr path="/api/package[@name='com.android.slyce.crop']/class[@name='ImageViewTouchBase']" name="visibility">public</attr>
<attr path="/api/package[@name='com.android.slyce.scanner']/interface[@name='CameraInstance']" name="visibility">public</attr>
<attr path="/api/package[@name='com.android.volley']/class[@name='Request']/method[@name='deliverResponse']" name="abstract">false</attr>
</metadata>
On the IOS side, Here is the output of Sharpie when trying to use the Framework
$ sharpie bind -framework SlyceSDK.framework
Parsing 1 header files...
Binding...
no types were parsed that could be bound
Done. Exiting with error code 1.