【发布时间】:2016-11-06 00:16:29
【问题描述】:
我使用 Bluemix 和 Watson 在 iOS 上开发了一个 STT 应用程序,在测试模式下运行良好。
我的应用程序是用 Objective-C 编写的,但使用 Swift 桥接到调用 STT 的函数。我已将构建设置设置为说该应用使用 Swift。
我按照这个例子,使用 Carthage 创建了框架。我昨天重新生成了很多次。
但是,当我尝试使用 Xcode 上传到应用商店时,我得到以下信息:
此操作无法完成。再试一次。 (-22421)
所以我导出 ipa 并尝试应用程序加载器,我得到以下 FOR EACH FRAMEWORK:
错误 ITMS-90087:“不支持的架构。可执行文件 MY.app/Frameworks/Alamofire.framework 包含不受支持 架构'[x86_64,i386]'。”错误 ITMS-90209:“无效段 结盟。应用程序二进制文件位于 'My.app/Frameworks/Alamofire.framework/Alamofire' 没有适当的 段对齐。尝试使用最新的 Xcode 重建应用程序 版本。”
警告 ITMS-90080:“可执行文件‘ ayload/My.app/Frameworks/Alamofire.framework' 不是职位 独立可执行文件。请确保您的构建设置是 配置为创建 PIE 可执行文件。有关更多信息,请参阅 技术问答 QA1788 - 在 iOS 开发者库。”
此外:
错误 ITMS-90125:“二进制文件无效。 LC_ENCRYPTION_INFO 加载命令丢失或无效,或者 二进制已经加密。这个二进制文件似乎没有 使用 Apple 的链接器构建。”
我已尝试调整构建设置,但未能让 Apple 接受此应用。
最后。上周一,我一直在不使用 Watson 框架将这个应用程序上传到 App Store。当我集成 Watson STT 项目时,它现在不起作用。
想法/想法?
谢谢克莱夫
【问题讨论】:
-
您的“Alamofire.framework”不支持 [x86_64, i386],找到并替换为支持所有架构的框架。
-
[x86_64, i386] 适用于英特尔处理器而不是 iPhone/iPad,它是 iOS(armv7、armv7s、arm64)。您是否将模拟器 ipa 发送到 App Store?您是否在 xcode 中构建了应用程序?
-
嗨 Kev,感谢您的想法。我为 Xcode 的分发而构建,当我不断收到有用的“再试一次 (22421)”错误时,我在尝试 Application Loader 之前为应用商店分发构建了 adhoc .如前所述,这不仅适用于 Alamofire 框架,还适用于 STT 工作所需的所有 Watson Bluemix 框架。包括:Freddy、Restkit、SpeechToTextV1 和红蜘蛛。有没有人用这些框架构建了一个 STT 应用并放到了应用商店?谢谢克莱夫
标签: ios xcode ibm-cloud speech-to-text ibm-watson