0

最新の Cordova 3.4.1 および XCode 5.1 で動作するようにSphero PhoneGap プラグインを更新しようとしています。

XCodeで実行すると、ビルドは正常に機能します。ビルド設定で、「有効なアーキテクチャ」を と だけに指定armv7armv7sました。

しかしcordova build --device ios、コマンドラインで行うと、次のようになります。

Running command: /Users/peteshau/dev/src/pearson/prototypes/robots-sphero/phonegap-test/platforms/ios/cordova/build --device
Build settings from command line:
    ARCHS = armv7 armv7s arm64
    CONFIGURATION_BUILD_DIR = /Users/peteshau/dev/src/pearson/prototypes/robots-sphero/phonegap-test/platforms/ios/build/device
    SDKROOT = iphoneos7.1
    VALID_ARCHS = armv7 armv7s arm64

...

ld: warning: ignoring file RobotsSphero/Plugins/com.orbotix.sphero.SpheroPlugin/RobotKit.framework/RobotKit, missing required architecture arm64 in file RobotsSphero/Plugins/com.orbotix.sphero.SpheroPlugin/RobotKit.framework/RobotKit (2 slices)
Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_RKRobotProvider", referenced from:
      objc-class-ref in spheroGap.o
  "_OBJC_CLASS_$_RKRawMotorValuesCommand", referenced from:
      objc-class-ref in spheroGap.o
  "_OBJC_CLASS_$_RKPingCommand", referenced from:
      objc-class-ref in spheroGap.o
  "_OBJC_CLASS_$_RKStabilizationCommand", referenced from:
      objc-class-ref in spheroGap.o
  "_OBJC_CLASS_$_RKRollCommand", referenced from:
      objc-class-ref in spheroGap.o
  "_OBJC_CLASS_$_RKCalibrateCommand", referenced from:
      objc-class-ref in spheroGap.o
  "_OBJC_CLASS_$_RKBackLEDOutputCommand", referenced from:
      objc-class-ref in spheroGap.o
  "_OBJC_CLASS_$_RKGoToSleepCommand", referenced from:
      objc-class-ref in spheroGap.o
  "_OBJC_CLASS_$_RKRGBLEDOutputCommand", referenced from:
      objc-class-ref in spheroGap.o
  "_RKDeviceConnectionOnlineNotification", referenced from:
      -[spheroGap setupRobot] in spheroGap.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

** BUILD FAILED **

(と同じエラーが発生しcordova run --device、起動に失敗します)。

iOS 7.1 を実行している iPhone 5S 用にビルドしようとしています。

私の限られた理解 (私は iOS 開発にかなり慣れていません) から、ビルド設定で指定された有効なアーキテクチャの制限が cordova によって無視されているように見えますか? 省略arm64して実行できるようにする方法はありますか?

(関連する場合、ネイティブの「RobotKit」フレームワークでは、展開ターゲットを 6.0 に設定し、さまざまなリンカー フラグを設定する必要があるようです。コマンド ライン出力から、指定されたリンカー フラグを使用しているように見えます)。

4

1 に答える 1