AirDrop to receive files

Hi,

I think it would be fantastic if JUCE support receiving files on iOS. I just tried and succeeded to receive file from other devices via AirDrop. Can you please consider to implement this?

  1. In juce_ios_Windowing.mm, add following method.
  • (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id > *)options;

  • (BOOL)application:(UIApplication )app
    openURL:(NSURL )url
    options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> )options
    {
    auto
    juceApp = JUCEApplicationBase::getInstance();
    NSString
    absoluteString = [url absoluteString];
    const char
    cstr = [absoluteString UTF8String];
    URL juceUrl(cstr);
    BOOL result = juceApp->openUrl(juceUrl);
    return result;
    }

  1. In juce_ApplicationBase.h, add following method.
    virtual bool openUrl(URL& url) { return false; }

Then I implemented the openUrl() method in my StandAloneApp.cpp then I could receive files via AirDrop.

I second this request. I actually had to use this code in order to receive any files from the iOS Files app. Also, this code worked perfectly for me. I think the formatting got sort of messed up. This is the code I used:

- (BOOL)application:(UIApplication *)app
            openURL:(NSURL *)url
            options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options {
    auto juceApp = JUCEApplicationBase::getInstance();
    NSString *absoluteString = [url absoluteString];
    const char *cstr = [absoluteString UTF8String];
    URL juceUrl(cstr);
    [url startAccessingSecurityScopedResource];
    BOOL result = juceApp->openUrl(juceUrl);
    [url stopAccessingSecurityScopedResource];
    return result;
}

Ah, so it seems this is actually a duplicate of this issue: FR: iOS custom file type open handler - #9 by modosc