【问题标题】:IBM-Bluemix Push Service build for iOS Simulator fails用于 iOS 模拟器的 IBM-Bluemix 推送服务构建失败
【发布时间】:2016-08-04 09:05:21
【问题描述】:

我正在尝试构建我的 Cordova 应用程序,该应用程序将 IBM-Push 服务用于 iOS 模拟器。 它失败并出现以下错误:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_IMFPushClient", referenced from:
      _globalinit_33_39105BEEF401CB604E77C276DFBC7CAA_func0 in CDVMFPPush.o
      myApp.CDVMFPPush.__allocating_init () -> myApp.CDVMFPPush in CDVMFPPush.o
      myApp.CDVMFPPush.__allocating_init (webView : __ObjC.UIWebView!) -> myApp.CDVMFPPush! in CDVMFPPush.o
      myApp.CDVMFPPush.init () -> myApp.CDVMFPPush in CDVMFPPush.o
      @objc myApp.CDVMFPPush.init () -> myApp.CDVMFPPush in CDVMFPPush.o
      function signature specialization <Arg[0] = Owned To Guaranteed> of myApp.CDVMFPPush.init (webView : __ObjC.UIWebView!) -> myApp.CDVMFPPush! in CDVMFPPush.o
      l_get_field_types_CDVMFPPush in CDVMFPPush.o
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

当我为真实设备构建应用程序时,它可以正常运行。

我知道推送通知在模拟器上不起作用,但我需要截屏以上传到 App Store。

【问题讨论】:

    标签: ios push-notification ibm-cloud ibm-mobile-services


    【解决方案1】:

    推送通知仅适用于 iOS 的实际设备。

    我建议将您的 iOS 应用程序连接到您的 Mac 并使用 Quicktime 来捕获您的屏幕。

    Here is a CNET article about this feature.

    让我知道这是否适合您。

    【讨论】:

    • 在实际设备上截屏是没有问题的(使用XCode可以直接访问设备截屏)。但是我没有我需要的所有真实设备的屏幕截图(例如 4.7 英寸)。因此,使用模拟器将是完美的。而且 - 如前所述 - 我知道推送通知在模拟器上不起作用,但这不是问题,因为我需要应用其他部分的屏幕截图。
    • 我知道您可能可以注释掉 Push 代码并在模拟器中运行它而不会出现问题,但让我与开发团队谈谈,看看您是否还有其他选择。
    • 我跟进了开发团队,他们有相同的解决方案。捕获屏幕并为不同的设备执行一些 Photoshop,或者注释掉推送代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    • 1970-01-01
    相关资源
    最近更新 更多