关于log-server-port的Appcelerator Titanium构建错误掩盖了真正的错误

时间:2018-02-19 16:44:52

标签: appcelerator-titanium appcelerator-mobile

这是相对较小的,我无法找到这个问题的任何其他记录,但它花了我几个压力的时间。我考虑打开关于此错误的Appcelerator Jira票证,因此在我这样做之前欢迎任何反馈。问题:除了我在下面写的内容之外,还有其他解决方法吗?有哪些更好的方法可以记录实际错误?

环境

Titanium SDK:7.0.2.GA Javascript引擎:V8 平台&版本:iOS 11.2 设备详细信息:iOS模拟器(iPhone 7+) 主机操作系统:OS X 10.13 64位 节点版本:7.10.0 Titanium CLI:5.0.14 Npm版本:4.2.0

描述

在构建iOS应用程序时,连接到iOS日志服务器时出现问题,它始终输出"另一个进程当前绑定到端口xxxxx"即使存在另一个服务器连接问题,例如端口不存在。

解决方法

通过在sdk本身中记录实际错误来找出真正的问题(在〜/ Library / Application Support / Titanium / mobilesdk / osx / 7.0.2.GA / iphone / cli / commands / _build.js中,在determineLogServerPort中功能)。

重现步骤

  1. 与服务器创建不同类型的错误。例如,我的/ etc / hosts文件没有127.0.0.1 localhost的条目,因此实际的节点错误是' ENOTFOUND'。
  2. 使用appc ti new创建一个新的钛应用。
  3. 使用appc ti build -p ios构建
  4. 实际结果

    使用以下文字构建错误:

    [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
    

    预期结果

    更详细的错误。 I.E.类似的东西:

    Failed to create/connect to log server port with error "[error given by node net package]". 其次是建议的解决方案。例如,如果节点错误是EADDRINUSE,那么您仍然可以使用现有的错误消息。但如果是另一个错误,请相应记录,以便用户获得解决问题的最佳信息。

4 个答案:

答案 0 :(得分:2)

关闭当前运行的模拟器,然后重试 当xcode打开模拟器时,出现了这样的问题

答案 1 :(得分:0)

请确保您使用相同的应用名称和ID执行该应用。 如果有更改,请从设备中删除该应用,然后重新构建。

答案 2 :(得分:0)

我在这里用https://jira.appcelerator.org/browse/TIMOB-25872

用自动售票机打开了车票

他们刚刚将其标记为已关闭,因此有望将其包含在下一个sdk版本中。

答案 3 :(得分:0)

对我来说,解决方案就是在加速器https://jira.appcelerator.org/browse/TIMOB-25872上的JIRA票证中提到的解决方案。

我最近搬到了一台新的Mac上,并迁移了所有内容,它创建了我的主机文件的副本,将其重命名,但是没有更新主文件,因此它没有引用那里的本地主机。解决此问题后,它再也不会出现问题。

下面是主机文件中的内容。

Outputs:
  ProdEndpoint:
    Value: !Sub "https://${ApiGw}.execute-api.${AWS::Region}.amazonaws.com/${ApiGwStage}/"

Resources:
  ApiGw:
    Type: AWS::ApiGateway::RestApi
    Properties:
      Name: 'Serverless Ipsum #noServerNovember challenge'
      FailOnWarnings: true

  ApiGwDeployment:
    Type: AWS::ApiGateway::Deployment
    # Required -- see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html
    DependsOn: ApiGwMethod
    Properties:
      RestApiId: !Ref ApiGw

  ApiGwStage:
    Type: AWS::ApiGateway::Stage
    Properties:
      DeploymentId: !Ref ApiGwDeployment
      MethodSettings:
        - DataTraceEnabled: true
          HttpMethod: '*'
          LoggingLevel: INFO
          ResourcePath: '/*'
      RestApiId: !Ref ApiGw
      StageName: prod

  ApiGwResource:
    Type: AWS::ApiGateway::Resource
    Properties:
      RestApiId: !Ref ApiGw
      ParentId: !GetAtt ["ApiGw", "RootResourceId"]
      PathPart: "{proxy+}"

  ApiGwMethod:
    Type: AWS::ApiGateway::Method
    Properties:
      RestApiId: !Ref ApiGw
      ResourceId: !Ref ApiGwResource
      HttpMethod: ANY
      AuthorizationType: NONE
      Integration:
        Type: AWS_PROXY
        IntegrationHttpMethod: POST
        Uri: !Sub "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${ServerlessIpsumFunction.Arn}/invocations"

希望对某人有所帮助,乍一看并没有在JIRA上看到答案。