clipboard_ios.go 663 B

12345678910111213141516171819202122232425262728293031
  1. //go:build ios
  2. // +build ios
  3. package mobile
  4. /*
  5. #cgo CFLAGS: -x objective-c
  6. #cgo LDFLAGS: -framework Foundation -framework UIKit -framework MobileCoreServices
  7. #include <stdlib.h>
  8. void setClipboardContent(char *content);
  9. char *getClipboardContent();
  10. */
  11. import "C"
  12. import "unsafe"
  13. // Content returns the clipboard content for iOS
  14. func (c *mobileClipboard) Content() string {
  15. content := C.getClipboardContent()
  16. return C.GoString(content)
  17. }
  18. // SetContent sets the clipboard content for iOS
  19. func (c *mobileClipboard) SetContent(content string) {
  20. contentStr := C.CString(content)
  21. defer C.free(unsafe.Pointer(contentStr))
  22. C.setClipboardContent(contentStr)
  23. }