【问题标题】:File attached to Email - I am trying to open myapp附加到电子邮件的文件 - 我正在尝试打开 myapp
【发布时间】:2011-09-06 18:26:36
【问题描述】:

我在 info.plist 中添加了 3 个部分,发现了几篇文章并在字里行间阅读。当我运行我的应用程序时,电子邮件有一个带有“ntdb”后缀的附件,但电子邮件似乎无法识别扩展名。我假设我一定在 plist 中输入了错误,但是在过去 2 天尝试了每种组合之后,我不知道还有什么可以改变的。谁能告诉我我做错了什么?电子邮件中的文件名是日期和 ntdb,例如:“myfile 09-06-2011.ntdb”

<key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeIconFiles</key>
            <array>
                <string>icon57</string>
            </array>
            <key>CFBundleTypeName</key>
            <string>myAppName</string>
            <key>CFBundleTypeRole</key>
            <string>Viewer</string>
                <key>LSHandlerRank</key>
                <string>Owner</string>
                <key>LSItemContentTypes</key>
            <array>
                <string>com.myCompanyName.myAppName.ntdb</string>
            </array>
        </dict>
    </array>



<key>UTExportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeConformsTo</key>
        <array>
            <string>public.plain-text</string>
            <string>public.text</string>
        </array>
        <key>UTTypeDescription</key>
        <string>myAppName Backup</string>
        <key>UTTypeIdentifier</key>
        <string>com.myCompanyName.myAppName.ntdb</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <string>ntdb</string>
            <key>public.mime-type</key>
            <string>text/txt</string>
        </dict>
    </dict>
</array>


    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLIconFile</key>
            <string>icon57</string>
            <key>CFBundleURLName</key>
            <string>com.myCompanyName.myAppName</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>myAppName</string>
            </array>
        </dict>
    </array>

【问题讨论】:

    标签: iphone email xcode4 info.plist


    【解决方案1】:

    花了很长时间才找到这个工作......终于搞定了。下面的 plist 是您需要的。此外,plist 实际上是 MyAppName-info.plist 我从来不确定自己这个文件的完整名称。

    在下面的文件中更改这些以适合您的应用:

    MyAppName - 更改为您的应用名称

    MyCompanyName - 更改为您的“公司”

    MyfileExtensionSuffix - 这是您文件的后缀,例如 zip 文件就是 ZIP。

    如果电子邮件正在运行,请终止该进程,以便它获取名称。当您打开带有后缀扩展名的附件的电子邮件时,它将打开您的应用程序。

    <key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeIconFiles</key>
            <array>
                <string>myAppName x 57</string>
            </array>
            <key>CFBundleTypeName</key>
            <string>myAppName</string>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>LSHandlerRank</key>
            <string>Owner</string>
            <key>LSItemContentTypes</key>
            <array>
                <string>com.myCompanyName.myAppName.myFileExtensionSuffix</string>
            </array>
        </dict>
    </array>
    
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLIconFile</key>
            <string>57 icon</string>
            <key>CFBundleURLName</key>
            <string>com.myCompanyName.myAppName.myFileExtensionSuffix</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>myAppName</string>
            </array>
        </dict>
    </array>
    
    
    <key>UTExportedTypeDeclarations</key>
    <array>
        <dict>
            <key>UTTypeConformsTo</key>
            <array>
                <string>public.data</string>
            </array>
            <key>UTTypeDescription</key>
            <string>myAppName Backup</string>
            <key>UTTypeIdentifier</key>
            <string>com.myCompanyName.myAppName.myFileExtensionSuffix</string>
            <key>UTTypeSize320IconFile</key>
            <string>myAppName x 114</string>
            <key>UTTypeSize64IconFile</key>
            <string>myAppName x 57</string>
            <key>UTTypeTagSpecification</key>
            <dict>
                <key>public.filename-extension</key>
                <string>myFileExtensionSuffix</string>
                <key>public.mime-type</key>
                <string>application/myAppName</string>
            </dict>
        </dict>
    </array>
    

    在您的应用委托中,您需要这样的内容:

    -(void) CopyArg0:(NSURL *)url { if(url != nil && [url isFileURL]) { NSData *d = [NSData dataWithContentsOfURL:url]; 文档路径 = NSSearchPathForDirectoriesInDomains(NSDocumentsDirectory, NSUserDomainMask,是的);

    documentsDir = [[NSString alloc]
    

    initWithFormat:@"%@",[documentPaths objectAtIndex:0] ];

    [[NSFileManager defaultManager]createFileAtPath:[documentsDir
    

    stringByAppendingPathComponent:[url lastPathComponent]] 内容:d 属性:无];

        alertStandard = [[UIAlertView alloc] initWithTitle:@""  
    

    message:@"该文件已添加到您的文档中。blaaa blaaa etc" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];

        [alertStandard show];
        [alertStandard release];
    
    
    }
     }
    

    - (BOOL)应用程序:(UIApplication *)应用程序句柄OpenURL:(NSURL *)网址 {

    if(url != nil && [url isFileURL])
    {
        [self CopyArg0:url];
    
        return YES;
    
    }
    
    return NO;
     }
    
    • (BOOL)应用程序:(UIApplication *)应用程序 didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    {

    NSURL *url = (NSURL *)[launchOptions valueForKey:UIApplicationLaunchOptionsURLKey]; if (url != nil && [url isFileURL]) { [self CopyArg0:url];
    }

    }

    【讨论】:

      猜你喜欢
      • 2010-10-09
      • 2019-03-18
      • 2021-10-03
      • 1970-01-01
      • 2020-11-18
      • 1970-01-01
      • 1970-01-01
      • 2014-06-25
      • 1970-01-01
      相关资源
      最近更新 更多