file_ios.m 873 B

1234567891011121314151617181920212223242526272829303132333435
  1. //go:build ios
  2. // +build ios
  3. #import <Foundation/Foundation.h>
  4. #import <stdbool.h>
  5. bool iosExistsPath(const char* path) {
  6. NSString *pathStr = [NSString stringWithUTF8String:path];
  7. return [[NSFileManager defaultManager] fileExistsAtPath:pathStr];
  8. }
  9. void* iosParseUrl(const char* url) {
  10. NSString *urlStr = [NSString stringWithUTF8String:url];
  11. return [NSURL URLWithString:urlStr];
  12. }
  13. const void* iosReadFromURL(void* urlPtr, int* len) {
  14. NSURL* url = (NSURL*)urlPtr;
  15. NSData* data = [NSData dataWithContentsOfURL:url];
  16. *len = data.length;
  17. return data.bytes;
  18. }
  19. const int iosWriteToURL(void* urlPtr, const void* bytes, int len) {
  20. NSURL* url = (NSURL*)urlPtr;
  21. NSData *data = [NSData dataWithBytes:bytes length:len];
  22. BOOL ok = [data writeToURL:url atomically:YES];
  23. if (!ok) {
  24. return 0;
  25. }
  26. return data.length;
  27. }