关于 log-server-port 的 Appcelerator Titanium 构建错误掩盖了真正的错误
Appcelerator Titanium build error about log-server-port masks the real error
这是一个相对较小的问题,我找不到关于此问题的任何其他记录,但它花费了我好几个小时的时间。我正在考虑打开一个关于这个错误的 Appcelerator Jira 票证,所以在我这样做之前欢迎任何反馈。问题:除了我在下面写的以外,还有其他解决方法吗?有哪些更好的方法来记录实际错误?
环境
Titanium SDK:7.0.2.GA
Javascript引擎:V8
平台和版本:iOS 11.2
设备详细信息:iOS 模拟器(iPhone 7+)
主机操作系统:OS X 10.13 64 位
节点版本:7.10.0
钛 CLI:5.0.14
Npm 版本:4.2.0
描述
当构建一个 iOS 应用程序并且连接到 iOS 日志服务器时出现问题,它总是输出 "Another process is currently bound to port xxxxx" 即使存在另一个服务器连接问题,例如端口不存在。
解决方法
通过记录 sdk 本身的实际错误(在 determineLogServerPort 函数中的 ~/Library/Application Support/Titanium/mobilesdk/osx/7.0.2.GA/iphone/cli/commands/_build.js)找出真正的问题。
重现步骤
- 使用服务器创建不同类型的错误。例如,我的 /etc/hosts 文件没有 127.0.0.1 localhost 的条目,因此实际的节点错误是 'ENOTFOUND'.
- 使用
appc ti new
创建一个新的 Titanium 应用程序。
- 使用 appc ti build -p ios
构建
实际结果
使用以下文本构建错误:
[ERROR] Another process is currently bound to port 27973
[ERROR] Set a unique <log-server-port> between 1024 and 65535 in the <ios> section of the tiapp.xml
预期结果
更详细的错误。 IE。类似于:
Failed to create/connect to log server port with error "[error given by node net package]".
其次是建议的解决方案。例如,如果节点错误是 EADDRINUSE,那么您仍然可以使用现有的错误消息。但如果是另一个错误,请相应地记录,以便用户获得解决问题的最佳信息。
请确保您正在执行具有相同应用名称和 ID 的应用。
如果有变化,请从设备中删除应用程序并重新构建。
我在这里用appcelerator开票:https://jira.appcelerator.org/browse/TIMOB-25872
他们刚刚将其标记为已关闭,因此有望包含在下一个 sdk 版本中。
关闭当前模拟器运行并重试
当 xcode 打开模拟器时,我遇到了这样的问题
我的解决方案是 appcelerator https://jira.appcelerator.org/browse/TIMOB-25872 上的 JIRA 票证中提到的解决方案 https://jira.appcelerator.org/browse/TIMOB-25872。
我最近搬到了一个新的 Mac 并迁移了所有内容,它创建了我的主机文件的副本并重命名它但没有更新主文件,因此它没有引用其中的本地主机。解决此问题后,它又可以正常构建了。
以下是主机文件中的内容。
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
希望对某人有所帮助,乍一看没有在 JIRA 上看到答案。
这是一个相对较小的问题,我找不到关于此问题的任何其他记录,但它花费了我好几个小时的时间。我正在考虑打开一个关于这个错误的 Appcelerator Jira 票证,所以在我这样做之前欢迎任何反馈。问题:除了我在下面写的以外,还有其他解决方法吗?有哪些更好的方法来记录实际错误?
环境
Titanium SDK:7.0.2.GA Javascript引擎:V8 平台和版本:iOS 11.2 设备详细信息:iOS 模拟器(iPhone 7+) 主机操作系统:OS X 10.13 64 位 节点版本:7.10.0 钛 CLI:5.0.14 Npm 版本:4.2.0
描述
当构建一个 iOS 应用程序并且连接到 iOS 日志服务器时出现问题,它总是输出 "Another process is currently bound to port xxxxx" 即使存在另一个服务器连接问题,例如端口不存在。
解决方法
通过记录 sdk 本身的实际错误(在 determineLogServerPort 函数中的 ~/Library/Application Support/Titanium/mobilesdk/osx/7.0.2.GA/iphone/cli/commands/_build.js)找出真正的问题。
重现步骤
- 使用服务器创建不同类型的错误。例如,我的 /etc/hosts 文件没有 127.0.0.1 localhost 的条目,因此实际的节点错误是 'ENOTFOUND'.
- 使用
appc ti new
创建一个新的 Titanium 应用程序。 - 使用 appc ti build -p ios 构建
实际结果
使用以下文本构建错误:
[ERROR] Another process is currently bound to port 27973
[ERROR] Set a unique <log-server-port> between 1024 and 65535 in the <ios> section of the tiapp.xml
预期结果
更详细的错误。 IE。类似于:
Failed to create/connect to log server port with error "[error given by node net package]".
其次是建议的解决方案。例如,如果节点错误是 EADDRINUSE,那么您仍然可以使用现有的错误消息。但如果是另一个错误,请相应地记录,以便用户获得解决问题的最佳信息。
请确保您正在执行具有相同应用名称和 ID 的应用。 如果有变化,请从设备中删除应用程序并重新构建。
我在这里用appcelerator开票:https://jira.appcelerator.org/browse/TIMOB-25872
他们刚刚将其标记为已关闭,因此有望包含在下一个 sdk 版本中。
关闭当前模拟器运行并重试 当 xcode 打开模拟器时,我遇到了这样的问题
我的解决方案是 appcelerator https://jira.appcelerator.org/browse/TIMOB-25872 上的 JIRA 票证中提到的解决方案 https://jira.appcelerator.org/browse/TIMOB-25872。
我最近搬到了一个新的 Mac 并迁移了所有内容,它创建了我的主机文件的副本并重命名它但没有更新主文件,因此它没有引用其中的本地主机。解决此问题后,它又可以正常构建了。
以下是主机文件中的内容。
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
希望对某人有所帮助,乍一看没有在 JIRA 上看到答案。