3

UIActivityViewControllerで作成したカスタム ファイル タイプを に添付することができませんUIDocument。誰でも助けることができますか?

.wkiファイル URL が有効で、拡張子 (私のカスタム拡張子)を持つファイルを指しているにもかかわらず、電子メールには添付ファイルがまったくありませんUIDocument

メール送信用コード:

    NSURL *url = self.entrySelected.fileURL;

    NSArray *activityItems = @[url];

    UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
    [self presentViewController:activityVC animated:YES completion:nil];

ドキュメント タイプとエクスポートされた UTI の Info-plist 設定は次のとおりです。

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeIconFiles</key>
        <array/>
        <key>CFBundleTypeName</key>
        <string>MyApp Doc</string>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>LSHandlerRank</key>
        <string>Owner</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.stephencox.myApp.doc</string>
        </array>
        <key>LSTypeIsPackage</key>
        <string>YES</string>
    </dict>
</array>


<key>UTExportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeConformsTo</key>
        <array>
            <string>com.apple.package</string>
        </array>
        <key>UTTypeDescription</key>
        <string>MyApp Doc</string>
        <key>UTTypeIdentifier</key>
        <string>com.stephencox.myApp.doc</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <array>
                <string>wki</string>
            </array>
        </dict>
    </dict>
</array>
4

2 に答える 2

0

私は自分のファイルタイプで同じ問題を抱えていました。多くの実験の後、私はそれに対する解決策を見つけました。それがあなたにとってもうまくいくことを願っています.

ファイルの MIME タイプを指定する必要があります。次に例を示します。

...
    <key>UTTypeTagSpecification</key>
    <dict>
        <key>public.filename-extension</key>
        <string>wki</string>
        <key>public.mime-type</key>
        <string>application/x-wki</string>
    </dict>
...

于 2014-01-08T13:48:40.580 に答える
0

最終的に、別のドキュメント タイプと UTExportedTypeDeclaration を設定することで問題を解決しました。

最初のものはそのままにして (UIDocument 管理で必要と仮定して)、ZIP ファイル用に別のドキュメント タイプを設定しました。ここでは、UTTypeConformsTo キーが「public.data」に設定され、public.mime-type 用に追加のキーが追加されました。 (「applications/myappname」に設定)。zip ファイルを一時ディレクトリに送信し、UIActivityViewController にこの URL からファイルを取得させました。

これが他の誰かに役立つことを願っています!

于 2014-03-15T09:55:21.030 に答える