Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. const string FoundationLibrary = "/System/Library/Frameworks/Foundation.framework/Foundation";
  2.  
  3. [System.Runtime.InteropServices.DllImport(FoundationLibrary)]
  4. extern static void NSLog(IntPtr format, IntPtr s);
  5.  
  6. [System.Runtime.InteropServices.DllImport(FoundationLibrary, EntryPoint = "NSLog")]
  7. extern static void NSLog_ARM64(IntPtr format, IntPtr p2, IntPtr p3, IntPtr p4, IntPtr p5, IntPtr p6, IntPtr p7, IntPtr p8, IntPtr s);
  8.  
  9. static readonly bool Is64Bit = IntPtr.Size == 8;
  10. static readonly bool IsDevice = ObjCRuntime.Runtime.Arch == ObjCRuntime.Arch.DEVICE;
  11.  
  12. static readonly Foundation.NSString nsFormat = new Foundation.NSString(@"%@");
  13.  
  14. static void OutputStringToConsole(string text)
  15. {
  16. using (var nsText = new Foundation.NSString(text))
  17. {
  18. if (IsDevice && Is64Bit)
  19. {
  20. NSLog_ARM64(nsFormat.Handle, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, nsText.Handle);
  21. }
  22. else
  23. {
  24. NSLog(nsFormat.Handle, nsText.Handle);
  25. }
  26. }
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement