title: Objective Sharpie fails with errors in sdk: iphoneos10.3
body: <p>Im very new to Xamarin . i am trying to bind objective C Sdk with Xamarin, i am using Objective Sharpie to bing SDk. But i got the following errors. </p>
  
  <pre><code>sharpie bind -output=MyPdfViewer -namespace=MyPdfViewerFinal ~/Desktop/MyPdfViewer/MyPdfViewer/*.h -sdk=iphoneos10.3
  </code></pre>
  
  <p>And the output is </p>
  
  <pre><code>Parsing 20 header files...
  In file included from /var/folders/dk/mtz1zvm505d6bshd__24pg580000gp/T/tmp569fbba2.h:2:
  /Users/afsara/Desktop/MyPdfViewer/MyPdfViewer/ReaderConstants.h:27:3: error: ARC (-fobjc-arc) is required to build this code.
          #error ARC (-fobjc-arc) is required to build this code.
           ^
  
  Binding...
    [write] ApiDefinitions.cs
    [write] StructsAndEnums.cs
  
  Binding Analysis:
    Automated binding is complete, but there are a few APIs which have been flagged with [Verify] attributes. While the
    entire binding should be audited for best API design practices, look more closely at APIs with the following Verify
    attribute hints:
  
    MethodToProperty (5 instances):
      An Objective-C method was bound as a C# property due to convention such as taking no parameters and returning a value (
      non-void return). Often methods like these should be bound as properties to surface a nicer API, but sometimes false-
      positives can occur and the binding should actually be a method.
  
    StronglyTypedNSArray (2 instances):
      A native NSArray* was bound as NSObject[]. It might be possible to more strongly type the array in the binding based
      on expectations set through API documentation (e.g. comments in the header file) or by examining the array contents
      through testing. For example, an NSArray* containing only NSNumber* instances can be bound as NSNumber[] instead of
      NSObject[].
  
    PlatformInvoke (4 instances):
      In general P/Invoke bindings are not as correct or complete as Objective-C bindings (at least currently). You may need
      to fix up the library name (it defaults to '__Internal') and return/parameter types manually to conform to C calling
      conventionsfor the target platform. You may find you don't even want to expose the C API in your binding, but if you
      do, you'll probably also want to relocate the definition to a more appropriate class and expose a stronger type-safe
      wrapper. For P/Invoke guidance, see http://www.mono-project.com/docs/advanced/pinvoke/.
  
    Once you have verified a Verify attribute, you should remove it from the binding source code. The presence of Verify
    attributes intentionally cause build failures.
  
    For more information about the Verify attribute hints above, consult the Objective Sharpie documentation by running '
    sharpie docs' or visiting the following URL:
  
      http://xmn.io/sharpie-docs
  1 error generated.
  Error while processing /var/folders/dk/mtz1zvm505d6bshd__24pg580000gp/T/tmp569fbba2.h.
  
  Submitting usage data to Xamarin...
    Submitted - thank you for helping to improve Objective Sharpie!
  
  Done. Exiting with error code 1.
  error: Clang failed to parse input and exited with code 1
  </code></pre>
  
  <p>and the sharpie version is </p>
  
  <p>sharpie --version
  3.3.0p 3d8547f 3d8547fcf1f7c2c2337b122c8d1fe893eb6a1ad3 2016-08-03 04:49:53</p>