Как я могу доказать, что в моем приложении Xamarin.iOS Watch включен битовый код? - PullRequest
0 голосов
/ 18 сентября 2018

Мне позвонил представитель Apple и сообщил, что мое приложение с расширением WatchOS не скомпилировано с поддержкой битовых кодов, и если я попытаюсь отправить дополнительные обновления, они будут отклонены.

Этоявляется приложением Xamarin.iOSЯ использую Visual Studio 2017 15.8.2, Xamarin.iOS 11.14.0.14 и XCode 9.4.1.

Насколько я знаю, биткод был включен в моих проектах WatchOS в течение некоторого времени, и я находился подТакое впечатление, что у меня уже были бы отклонения, если бы это было не так (последнее обновление было сделано менее 4 недель назад).

В проектах расширения WatchOS и WatchOS у меня есть следующий проектпараметры для моих сборок AppStore:

<MtouchUseLlvm>True</MtouchUseLlvm>
<MtouchEnableBitcode>True</MtouchEnableBitcode>

Я не знаю, как доказать, что Бит-код действительно был включен в получающихся двоичных файлах.Я попытался использовать otool:

$ otool -l MyApp.ipa/Payload/MyApp.app/Watch/MyAppWatch.app/MyAppWatch | grep bitcode

(no output)

$ otool -l MyApp.ipa/Payload/MyApp.app/Watch/MyAppWatch.app/MyAppWatch | grep __LLVM

(no output)

$ otool -l MyApp.ipa/Payload/MyApp.app/Watch/MyAppWatch.app/MyAppWatch/PlugIns/MyAppWatchExtension.appex/MyAppWatchExtension | grep bitcode

(no output)

$ otool -l MyApp.ipa/Payload/MyApp.app/Watch/MyAppWatch.app/MyAppWatch/PlugIns/MyAppWatchExtension.appex/MyAppWatchExtension | grep __LLVM

segname __LLVM
segname __LLVM

Так что, похоже, что в проекте «Расширение часов» включен LLVM, но ничего, указывающее на то, что битовый код включен.Сам по себе проект Watch не имеет никаких указаний, но я не уверен, имеет ли это значение.

Я пытался отправить новый двоичный файл с помощью Application Uploader, но у меня не было проблем, но я обеспокоен, что получуотклонение во время процесса проверки и хочу сделать все возможное, прежде чем добраться до этой точки или, по крайней мере, иметь возможность защитить себя от отклонения.

РЕДАКТИРОВАТЬ: С тех пор я представил свое приложение с расширением часов, скомпилированный сте же инструменты, упомянутые выше, и получили одобрение магазина приложений, несмотря на предупреждающий телефонный звонок от Apple.Я обновил свой набор инструментов до Xamarin.iOS 12 и XCode 10 и заказал Apple Watch 4. Я оставлю этот вопрос открытым, чтобы посмотреть, станет ли проблема более ощутимой (и предупреждение Apple более законной) с новым набором инструментов.

1 Ответ

0 голосов
/ 23 сентября 2018

См. https://github.com/xamarin/xamarin-macios/issues/4810. Существует способ, позволяющий отправить приложение Xamarin watchOS в магазин. Этот скрипт отредактировал мое расширение Info.plist:

/usr/libexec/PlistBuddy -c 'Add :DTPlatformBuild string "15T212"' Info.plist
/usr/libexec/PlistBuddy -c 'Add :DTPlatformVersion string "4.3"' Info.plist
/usr/libexec/PlistBuddy -c 'Add :DTSDKBuild string "15T212"' Info.plist
/usr/libexec/PlistBuddy -c 'Add :DTSDKName string "watchos4.3"' Info.plist
/usr/libexec/PlistBuddy -c 'Add :DTXcode string "0940"' Info.plist
/usr/libexec/PlistBuddy -c 'Add :DTXcodeBuild string "9F1027a"' Info.plist

В настоящее время поддерживается только watchOS 4.3: - (.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...