Closed rcha103 closed 7 years ago
2.8.5
is built with XCode 9, for iOS 11.
If you're not building with XCode 9 on PGB, 2.8.5
is going to fail. See if 2.8.4
builds.
@christocracy thanks! Changing to 2.8.4 and now the build succeeds. But the plugin does not work on iOS 11. It still works on Android though.
Talk to PhoneGap whether they support XCode 9.0
Did you get this fixed yet?
I can't see the actual error message in the log above. Is it something with IOSurface? That's at least what I get with PGB, cli-6.5.0 or cli-7.0.1 (same), licensed 2.8.5, target 9.
IOSurface is an iOS 11 API. Only XCode 9 knows about iOS 11.
Your issue is with your 3rd party build service.
I've asked the PGB team for status on upgrading. They tend to be slow, but for 7.0.1 they dumped their own forks of the tools and went straight for Cordova original code, so just maybe it goes faster in the future. That said, XCode 9 has been out for months now.
XCode 9 betas have been out for months. The betas were all horribly unstable, crashing all the time on my system. It was only the final release that was stable for me.
True. XCode 9 was announced months ago. I installed it September 22.
@christocracy PGB cli-7.0.1 which is the latest uses cordova iOS 4.4.0, so I can't really test out your proposed solution and I'm still having the same problem.
@andersborgabiro Yes, you are correct. It does say
ld: framework not found IOSurface for architecture arm64
on the console log.
I also don't think that license key has anything to do with this, as I'm also building for Android (debug build) with no license key.
@rcha103 AFAIK Cordova iOS 4.4 is built with pre-9 XCode. We still need a new cli version, unless there would be a way to use this plugin somehow. I'll be setting up a Cordova environment on my Mac today, but so far I can't even get Node and npm to install properly.
Using PGB as a development server is a symptom not a solution. A symptom of a developer without a proper development environment.
Probably :). Arguably though, a real developer develops native code only. That's the only thing I've found roughly reliable and available in time for new platform releases.
this plugin will work in pure native apps too if you want to go that route.
I only code native for Android at the moment, and this specific app is already quite complex, so migrating to native would not be a small feat. Also, iOS 11.0.2 has known issues with making apps very sluggish, that I can't see where I'm at (the customer is in Mexico), but might actually be the whole problem. Migrating to native iOS and Android just for that seems a bit over the top (I believe the PGB team would support XCode 9 before I'm done with the migration, even though they are continuously behind). I actually hope that people find a connection between sluggishness and Cordova/PhoneGap, so that it can be locked down, or of course that Apple fixes the issues with iOS. Anyway, I'll hopefully have CLI as an option soon.
Also, iOS 11.0.2 has known issues with making apps very sluggish,
Do you have some references about this?
Yup. Again, this might not be why my app is slow, so I've asked them about what aspects are affected. One was that it takes minutes (!) to load an in-app Web page.
https://www.macrumors.com/2017/09/25/ios-11-app-slowdowns-performance-issues/
I don't trust Forbes for anything. I see nothing conclusive here, just a bunch of anecdotal FUD.
Could be, but it remains that an app that works perfectly "at home" doesn't in Mexico (slow, but no crash). The exact same code talking to the exact same server, all phones running iOS 11.0.2. I doubt that your plugin has some kind of "Mexican mode", nor that Cordova in general does. The customer can't be asked about Web Inspector and such, as they don't have any technical people. Not your worry of course.
Is this app "slow" in DEBUG build or RELEASE build?
The customer only has access to a release build.
Are you able to test your app on a variety of iOS devices in Mexico? Is it just this one device?
One each of iPhone 6 and iPhone 7 so far. It's customer staff that's testing.
What exactly is slow?
Are the HTTP requests slow?
I've asked for details today. Waiting for response.
So far: Booting works fine, but not opening an inappbrowser view to the CMS I host in NYC. There were response time issues before (earthquake-related), but they are gone on Android. Around 120 ms response time on average.
You're measuring the response-time at the client-end?
Yup. Full round-trip.
@christocracy I have not much of a choice but to use PGB due to many reasons. I agree that PGB is not the most proper development environment but this is my best choice for the time being. So I have no choice but to wait for PGB to officially support XCode 9, just like @andersborgabiro said.
PGB is not a development environment. It’s a deployment service.
Buy yourself a cheap/used Mac Mini, develop with XCode and see your productivity skyrocket.
At least now I can build and deploy with XCode 9. I had to use Automatic signing for XCode to build successfully.
Your Environment
cordova -v
): 6.5.0cordova platform ls
): PGBPlugin config
Context
I'm building a phonegap app that uses your plugin. So far it works on Android, but the build on iOS always fails (ARCHIVE FAILED). If I remove the plugin from the config.xml file, the build succeeds. Here is my phonegap config.xml including the plugins:
<?xml version="1.0" encoding="UTF-8" ?> <widget xmlns = "http://www.w3.org/ns/widgets" xmlns:gap = "http://phonegap.com/ns/1.0" id = "com.app.appname" versioncode = "200" version = "2.0.4" >
The phonegap build error and line executed before it fails:
Ld /Users/phonegap/Library/Developer/Xcode/DerivedData/SEND-ebjeprotnwurcmezsjmnkxzkskqf/Build/Intermediates/ArchiveIntermediates/SEND/IntermediateBuildFilesPath/SEND.build/Release-iphoneos/SEND.build/Objects-normal/arm64/SEND normal arm64 cd /tmp/gimlet/2719316/project export IPHONEOS_DEPLOYMENT_TARGET=9.0 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.1.sdk -L/tmp/gimlet/2719316/project/build -L/tmp/gimlet/2719316/project/SEND/Plugins/cordova-plugin-ipay88 -L/tmp/gimlet/2719316/project/SEND/Plugins/phonegap-plugin-push/GCM/Libraries -L/tmp/gimlet/2719316/project/SEND/Plugins/cordova-plugin-cocoalumberjack -F/tmp/gimlet/2719316/project/build -FSEND/Plugins/cordova-plugin-background-fetch -FSEND/Plugins/cordova-background-geolocation-lt -filelist /Users/phonegap/Library/Developer/Xcode/DerivedData/SEND-ebjeprotnwurcmezsjmnkxzkskqf/Build/Intermediates/ArchiveIntermediates/SEND/IntermediateBuildFilesPath/SEND.build/Release-iphoneos/SEND.build/Objects-normal/arm64/SEND.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -miphoneos-version-min=9.0 -dead_strip -Xlinker -object_path_lto -Xlinker /Users/phonegap/Library/Developer/Xcode/DerivedData/SEND-ebjeprotnwurcmezsjmnkxzkskqf/Build/Intermediates/ArchiveIntermediates/SEND/IntermediateBuildFilesPath/SEND.build/Release-iphoneos/SEND.build/Objects-normal/arm64/SEND_lto.o -fobjc-arc -fobjc-link-runtime -ObjC /tmp/gimlet/2719316/project/build/libCordova.a -framework Security -framework SystemConfiguration -lipay88sdk -framework MapKit -framework CoreLocation -framework CoreMotion -weak_framework AudioToolbox -framework CoreTelephony -weak_framework Social -weak_framework MessageUI -lz -lGGLCloudMessaging -lGGLCore -lGGLInstanceIDLib -lGIP_Reachability -lGSDK_Overload -lGTMSessionFetcher_core -lGTMSessionFetcher_full -lGTMStackTrace -lGTM_AddressBook -lGTM_DebugUtils -lGTM_GTMURLBuilder -lGTM_KVO -lGTM_NSData+zlib -lGTM_NSDictionary+URLArguments -lGTM_NSScannerJSON -lGTM_NSStringHTML -lGTM_NSStringXML -lGTM_Regex -lGTM_RoundedRectPath -lGTM_StringEncoding -lGTM_SystemVersion -lGTM_UIFont+LineHeight -lGTM_core -lGTM_iPhone -lGcmLib -lProtocolBuffers -framework AddressBook -lsqlite3 -lz -framework TSBackgroundFetch -lCocoaLumberjack -weak_framework AVFoundation -weak-lsqlite3 -framework TSLocationManager -framework EventKit -framework EventKitUI -weak_framework ImageIO -weak_framework AddressBookUI -liconv -framework CoreVideo -framework QuartzCore -framework CoreImage -Xlinker -dependency_info -Xlinker /Users/phonegap/Library/Developer/Xcode/DerivedData/SEND-ebjeprotnwurcmezsjmnkxzkskqf/Build/Intermediates/ArchiveIntermediates/SEND/IntermediateBuildFilesPath/SEND.build/Release-iphoneos/SEND.build/Objects-normal/arm64/SEND_dependency_info.dat -o /Users/phonegap/Library/Developer/Xcode/DerivedData/SEND-ebjeprotnwurcmezsjmnkxzkskqf/Build/Intermediates/ArchiveIntermediates/SEND/IntermediateBuildFilesPath/SEND.build/Release-iphoneos/SEND.build/Objects-normal/arm64/SEND
ARCHIVE FAILED
The following build commands failed: Ld /Users/phonegap/Library/Developer/Xcode/DerivedData/SEND-ebjeprotnwurcmezsjmnkxzkskqf/Build/Intermediates/ArchiveIntermediates/SEND/IntermediateBuildFilesPath/SEND.build/Release-iphoneos/SEND.build/Objects-normal/armv7/SEND normal armv7 (1 failure) Error code 65 for command: xcodebuild with args: -xcconfig,/private/tmp/gimlet/2719316/project/cordova/build-release.xcconfig,-workspace,SEND.xcworkspace,-scheme,SEND,-configuration,Release,-destination,generic/platform=iOS,-archivePath,SEND.xcarchive,archive,CONFIGURATION_BUILD_DIR=/private/tmp/gimlet/2719316/project/build/device,SHARED_PRECOMPS_DIR=/private/tmp/gimlet/2719316/project/build/sharedpch