AppIntentVocabulary (INPlayMediaIntent) is unstable.

I am developing an iOS app that supports INPlayMediaIntent. We are trying to increase the recognition rate of content names, which are song titles, using AppIntentVocabulary. As a sample, some extracts are shown below.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>IntentPhrases</key>
	<array>
		<dict>
			<key>IntentName</key>
			<string>INPlayMediaIntent</string>
			<key>IntentExamples</key>
			<array>
				<string>Mezamashi Appで湖畔の朝を再生</string>
				<string>湖畔の朝をMezamashi Appで再生して</string>
			</array>
		</dict>
	</array>
	<key>ParameterVocabularies</key>
	<array>
		<dict>
			<key>ParameterNames</key>
			<array>
				<string>INPlayMediaIntent.playlistTitle</string>
			</array>
			<key>ParameterVocabulary</key>
			<array>
				<dict>
					<key>VocabularyItemIdentifier</key>
					<string>ID1</string>
					<key>VocabularyItemSynonyms</key>
					<array>
						<dict>
							<key>VocabularyItemPronunciation</key>
							<string>aogamagaeru</string>
							<key>VocabularyItemPhrase</key>
							<string>青ガマガエル</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>VocabularyItemIdentifier</key>
					<string>ID2</string>
					<key>VocabularyItemSynonyms</key>
					<array>
						<dict>
							<key>VocabularyItemPronunciation</key>
							<string>kohon no asa</string>
							<key>VocabularyItemPhrase</key>
							<string>湖畔の朝</string>
						</dict>
					</array>
				</dict>
				<dict>
					<key>VocabularyItemIdentifier</key>
					<string>ID3</string>
					<key>VocabularyItemSynonyms</key>
					<array>
						<dict>
							<key>VocabularyItemPronunciation</key>
							<string>kumageratachi no uta</string>
							<key>VocabularyItemPhrase</key>
							<string>クマゲラたちの歌</string>
						</dict>
					</array>
				</dict>
			</array>
		</dict>
	</array>
</dict>
</plist>

When running on the iOS 17.5 simulator in Xcode 15.4, the results are as follows.

mediaName = VocabularyItemIdentifier

mediaIdentifier = nil

<INMediaSearch: 0x6000026212c0> {
    reference = 0;
    mediaType = 0;
    sortOrder = 0;
    albumName = <null>;
    mediaName = ID1;
    genreNames = (
    );
    artistName = <null>;
    moodNames = (
    );
    releaseDate = <null>;
    mediaIdentifier = <null>;
}

However, when running on an iOS 17.5 device, the following applies.

mediaName = VocabularyItemPhrase

mediaIdentifier = VocabularyItemIdentifier

<INMediaSearch: 0x301efd9e0> {
    reference = 0;
    mediaType = 5;
    sortOrder = 0;
    albumName = <null>;
    mediaName = 青ガマガエル;
    genreNames = (
    );
    artistName = <null>;
    moodNames = (
    );
    releaseDate = <null>;
    mediaIdentifier = ID1;
}

The results are not stable, for example, sometimes everything else returns null. I have tried everything, but it is just taking a long time.

Does anyone have any advice on this?

Answered by DTS Engineer in 790518022

Since you're reporting this with the simulator, I suggest sticking to the behavior you get when testing on device, and file a bug report for any differences that you see between the two. Further, if reasonable for your app, include any information with the bug report where you're finding differences depending on the spoken language. Once you open the bug report, please post the FB number here for my reference.

If you have any questions about filing a bug report, take a look at Bug Reporting: How and Why?

Accepted Answer

Since you're reporting this with the simulator, I suggest sticking to the behavior you get when testing on device, and file a bug report for any differences that you see between the two. Further, if reasonable for your app, include any information with the bug report where you're finding differences depending on the spoken language. Once you open the bug report, please post the FB number here for my reference.

If you have any questions about filing a bug report, take a look at Bug Reporting: How and Why?

AppIntentVocabulary (INPlayMediaIntent) is unstable.
 
 
Q