【问题标题】:Creating an iOS Simulator Build with Cordova for Facebook review使用 Cordova 创建 iOS 模拟器构建以供 Facebook 审查
【发布时间】:2014-10-21 10:03:12
【问题描述】:

我需要提交我们应用的新版本来提交我的新 Facebook 权限请求。

问题是,不可能像here 中描述的那样构建 iOS 模拟器版本。

我附上了我的完整输出on gist

最重要的部分是这些:

SebastiansMBP2:ios <user>$ xcodebuild -arch i386 -sdk iphonesimulator8.0
Build settings from command line:
    ARCHS = i386
    SDKROOT = iphonesimulator8.0

=== BUILD TARGET CordovaLib OF PROJECT CordovaLib WITH THE DEFAULT CONFIGURATION (Release) ===

Check dependencies
...
2014-10-21 11:44:28.029 xcodebuild[67280:364513]  DeveloperPortal: Using pre-existing current store at URL (file:///Users/<user>/Library/Developer/Xcode/DeveloperPortal%206.0.db).
=== BUILD TARGET <ProjectName> OF PROJECT <ProjectName> WITH THE DEFAULT CONFIGURATION (Release) ===


CompileC build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/Objects-normal/i386/AdjustCordova.o <ProjectName>/Plugins/com.adjust.sdk/AdjustCordova.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    cd /Users/<user>/Development/20/<ProjectName>/platforms/ios
    export LANG=en_US.US-ASCII
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Users/<user>/.rvm/gems/ruby-2.0.0-p451/bin:/Users/<user>/.rvm/gems/ruby-2.0.0-p451@global/bin:/Users/<user>/.rvm/rubies/ruby-2.0.0-p451/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/<user>/.rvm/bin:/Users/<user>/.adt/tools:/Users/<user>/.adt/platform-tools"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch i386 -fmessage-length=270 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -fcolor-diagnostics -std=c99 -fobjc-arc -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-implicit-atomic-properties -Wno-receiver-is-weak -Wno-arc-repeated-use-of-weak -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-shorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wno-deprecated-implementations -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.0.sdk -fexceptions -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -fvisibility=hidden -Wno-sign-conversion -fobjc-abi-version=2 -fobjc-legacy-dispatch -mios-simulator-version-min=7.0 -iquote /Users/<user>/Development/20/<ProjectName>/platforms/ios/build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/<ProjectName>-generated-files.hmap -I/Users/<user>/Development/20/<ProjectName>/platforms/ios/build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/<ProjectName>-own-target-headers.hmap -I/Users/<user>/Development/20/<ProjectName>/platforms/ios/build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/<ProjectName>-all-target-headers.hmap -iquote /Users/<user>/Development/20/<ProjectName>/platforms/ios/build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/<ProjectName>-project-headers.hmap -I/Users/<user>/Development/20/<ProjectName>/platforms/ios/build/Release-iphonesimulator/include -I/Users/<user>/Development/20/<ProjectName>/platforms/ios/build/Release-iphonesimulator/usr/local/lib/include -I/Users/<user>/Development/20/<ProjectName>/platforms/ios/build/UninstalledProducts/include -I/Users/<user>/Development/20/<ProjectName>/platforms/ios/build/Release-iphonesimulator -I/Users/<user>/Development/20/<ProjectName>/platforms/ios/build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/DerivedSources/i386 -I/Users/<user>/Development/20/<ProjectName>/platforms/ios/build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/DerivedSources -F/Users/<user>/Development/20/<ProjectName>/platforms/ios/build/Release-iphonesimulator -F/Users/<user>/Development/20/<ProjectName>/platforms/ios/Safe -F/Users/<user>/Development/20/<ProjectName>/platforms/ios/<ProjectName>/Plugins/com.phonegap.plugins.facebookconnect -include /var/folders/pn/gg2pmp494ddc28vb35296c7r0000gn/C/com.apple.DeveloperTools/6.0-6A313/Xcode/SharedPrecompiledHeaders/<ProjectName>-Prefix-buzdrrssmquhyjccbctulbjeosdy/<ProjectName>-Prefix.pch -MMD -MT dependencies -MF /Users/<user>/Development/20/<ProjectName>/platforms/ios/build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/Objects-normal/i386/AdjustCordova.d --serialize-diagnostics /Users/<user>/Development/20/<ProjectName>/platforms/ios/build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/Objects-normal/i386/AdjustCordova.dia -c /Users/<user>/Development/20/<ProjectName>/platforms/ios/<ProjectName>/Plugins/com.adjust.sdk/AdjustCordova.m -o /Users/<user>/Development/20/<ProjectName>/platforms/ios/build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/Objects-normal/i386/AdjustCordova.o
In file included from /Users/<user>/Development/20/<ProjectName>/platforms/ios/<ProjectName>/Plugins/com.adjust.sdk/AdjustCordova.m:9:
/Users/<user>/Development/20/<ProjectName>/platforms/ios/<ProjectName>/Plugins/com.adjust.sdk/AdjustCordova.h:9:9: fatal error: 'Cordova/CDV.h' file not found
#import <Cordova/CDV.h>
        ^
1 error generated.

... //////////  This error happens multiple times.

/Users/<user>/Development/20/<ProjectName>/platforms/ios/<ProjectName>/Plugins/com.aquto.cordova.AppleAdvertising/AppleAdvertising.h:2:9: fatal error: 'Cordova/CDV.h' file not found
#import <Cordova/CDV.h>
        ^
1 error generated.

** BUILD FAILED **


The following build commands failed:
    CompileC build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/Objects-normal/i386/AdjustCordova.o <ProjectName>/Plugins/com.adjust.sdk/AdjustCordova.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    CompileC build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/Objects-normal/i386/APPLocalNotification.o <ProjectName>/Plugins/de.appplant.cordova.plugin.local-notification/APPLocalNotification.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    CompileC build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/Objects-normal/i386/CDVConnection.o <ProjectName>/Plugins/org.apache.cordova.network-information/CDVConnection.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    CompileC build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/Objects-normal/i386/CDVAssetLibraryFilesystem.o <ProjectName>/Plugins/org.apache.cordova.file/CDVAssetLibraryFilesystem.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    CompileC build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/Objects-normal/i386/AppDelegate.o <ProjectName>/Classes/AppDelegate.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    CompileC build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/Objects-normal/i386/CDVLocalFilesystem.o <ProjectName>/Plugins/org.apache.cordova.file/CDVLocalFilesystem.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    CompileC build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/Objects-normal/i386/CDVDevice.o <ProjectName>/Plugins/org.apache.cordova.device/CDVDevice.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    CompileC build/<ProjectName>.build/Release-iphonesimulator/<ProjectName>.build/Objects-normal/i386/AppleAdvertising.o <ProjectName>/Plugins/com.aquto.cordova.AppleAdvertising/AppleAdvertising.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(8 failures)

不,我在设置工作区和方案的情况下运行命令。

SebastiansMBP2:ios <user>$ xcodebuild -arch i386 -sdk iphonesimulator8.0 -workspace <ProjectName>.xcodeproj/project.xcworkspace -scheme <ProjectName>
Build settings from command line:
    ARCHS = i386
    SDKROOT = iphonesimulator8.0

=== BUILD TARGET CordovaLib OF PROJECT CordovaLib WITH CONFIGURATION Debug ===

Check dependencies

2014-10-21 11:44:44.905 xcodebuild[67925:365372]  DeveloperPortal: Using pre-existing current store at URL (file:///Users/<user>/Library/Developer/Xcode/DeveloperPortal%206.0.db).
=== BUILD TARGET <ProjectName> OF PROJECT <ProjectName> WITH CONFIGURATION Debug ===

Check dependencies

....

** BUILD SUCCEEDED **

现在我在 ios-sim 上运行生成的构建:

SebastiansMBP2:ios <user>$ ios-sim launch /Users/<user>/Development/20/<ProjectName>/platforms/ios/build/Release-iphonesimulator/<ProjectName>.app
Session could not be started: Error Domain=LaunchServicesError Code=0 "Unable to run app in Simulator" UserInfo=0x7f8993721ad0 {Error=ExecutableTwiddleFailed, ErrorDescription=Failed to chmod file:///Users/<user>/Library/Developer/CoreSimulator/Devices/B745FCEF-0713-419B-B5EF-5274C912DA7E/data/Library/Caches/com.apple.containermanagerd/Temp/Bundle/Application/D615484C-04F7-496D-AB61-4A988E4357C3/<ProjectName>.app/<ProjectName> : No such file or directory, NSLocalizedFailureReason=An error was encountered while running (Domain = LaunchServicesError, Code = 0), NSUnderlyingError=0x7f8993415850 "The operation couldn’t be completed. (LaunchServicesError error 0.)", NSLocalizedDescription=Unable to run app in Simulator}

(用户名、项目名等隐私相关部分已替换)

您对如何解决此问题以及如何构建可用于将其上传到 Facebook 的版本有任何想法吗?

我正在运行Xcode 6,将ios-sim 更新到版本3.0.0 并将cordova-cli 更新到版本4.0.0 与iOS 平台版本3.6.3

通过cordova build iOSXcode 直接构建应用程序可以正常工作!

谢谢!

【问题讨论】:

  • 也有这个问题,完全相同的错误和症状
  • 问题现已解决 - 我仔细地完成了构建过程并删除了插件等,然后当我在构建脚本中重新添加它们时它工作了。所以不幸的是无法追踪这个问题,所以如果有人能够查明问题,赏金就在那里。

标签: ios xcode facebook cordova review


【解决方案1】:

作为给你们的信息,我能够通过从 Xcode 运行应用程序然后压缩 iOS/build/Emulator/ 文件夹的内容来解决它。 两者最大的区别在于,提到的文件夹包含一个单独的库libCordova.a 和一个文件夹include。通过这两个元素,我能够将 iOS 应用程序提交给 Facebook(我只是将它们添加到 ZIP 文件中)。

希望对你有所帮助;)

【讨论】:

  • 您能否再解释一下,您是如何通过 xcode 执行 .app 文件的??
  • 谢谢!!只需单击 Xcode 上的播放按钮并压缩 emulator 文件夹。而已。如果您想测试,请运行 ios-sim launch &lt;yourapp&gt;.app
  • 这不是调试版本吗?他们要求发布版本
【解决方案2】:

我遇到了同样的问题,并且与 cordova-ios 版本有关。我不得不升级它,然后它解决了这个问题。有问题的 Cordova-ios 是 4.3.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-12
    • 1970-01-01
    相关资源
    最近更新 更多