mirror of
https://github.com/wailsapp/wails.git
synced 2026-03-15 15:15:51 +01:00
This commit integrates iOS platform support for Wails v3, adapting the iOS-specific code to work with the new transport layer architecture. Key changes: - Add iOS-specific application, webview, and runtime files - Add iOS event types and processing - Add iOS examples and templates - Update messageprocessor to handle iOS requests - Move badge_ios.go to dock package Note: The iOS branch was based on an older v3-alpha and required significant conflict resolution due to the transport layer refactor (PR #4702). Some iOS-specific code may need further adaptation: - processIOSMethod needs to be implemented with new RuntimeRequest signature - iOS event generation in tasks/events/generate.go needs updating 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
38 lines
1,017 B
Objective-C
38 lines
1,017 B
Objective-C
//go:build darwin && !ios
|
|
|
|
#import "dialogs_darwin_delegate.h"
|
|
|
|
// Override shouldEnableURL
|
|
@implementation OpenPanelDelegate
|
|
- (BOOL)panel:(id)sender shouldEnableURL:(NSURL *)url {
|
|
if (url == nil) {
|
|
return NO;
|
|
}
|
|
|
|
NSFileManager *fileManager = [NSFileManager defaultManager];
|
|
BOOL isDirectory = NO;
|
|
if ([fileManager fileExistsAtPath:url.path isDirectory:&isDirectory] && isDirectory) {
|
|
return YES;
|
|
}
|
|
|
|
// If no extensions specified, allow all files
|
|
if (self.allowedExtensions == nil || [self.allowedExtensions count] == 0) {
|
|
return YES;
|
|
}
|
|
|
|
NSString *extension = [url.pathExtension lowercaseString];
|
|
if (extension == nil || [extension isEqualToString:@""]) {
|
|
return NO;
|
|
}
|
|
|
|
// Check if the extension is in our allowed list (case insensitive)
|
|
for (NSString *allowedExt in self.allowedExtensions) {
|
|
if ([[allowedExt lowercaseString] isEqualToString:extension]) {
|
|
return YES;
|
|
}
|
|
}
|
|
|
|
return NO;
|
|
}
|
|
|
|
@end
|