使用Cordova创建iOS模拟器构建以进行Facebook审核

时间:2014-10-21 10:03:13

标签: ios xcode facebook cordova review

我需要提交新版本的应用程序才能提交新的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,并使用iOS平台版{{1}将cordova-cli更新为版本4.0.0 }。

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

谢谢!

2 个答案:

答案 0 :(得分:4)

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

希望这可以帮助你;)

答案 1 :(得分:0)

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