Fire: Building solution containing watchkit app

I’m in no rush. Its ok to wait to tomorrow

What am I missing? looks perfectly correct to me:

Reference 'libElements' was resolved to '/Users/JohnMoshakis/Documents/Elements/References/Toffee/watchOS/libElements.fx' via XML for target 'Toffee-watchOS'.
Reference 'libElements' was resolved to '/Users/JohnMoshakis/Documents/Elements/References/Toffee/watchOS/libElements.fx' for target 'Toffee-watchOS' (Device).
Reference 'libElements' was resolved to '/Users/JohnMoshakis/Documents/Elements/References/Toffee/watchOS Simulator/libElements.fx' for target 'Toffee-watchOS' (Simulator).
Reference 'libElements' was resolved to '/Users/JohnMoshakis/Documents/Elements/References/Toffee/iOS/libElements.fx' via XML for target 'Toffee-iOS'.
Reference 'libElements' was resolved to '/Users/JohnMoshakis/Documents/Elements/References/Toffee/iOS/libElements.fx' for target 'Toffee-iOS' (Device).
Reference 'libElements' was resolved to '/Users/JohnMoshakis/Documents/Elements/References/Toffee/iOS Simulator/libElements.fx' for target 'Toffee-iOS' (Simulator).

if you’d had kept the log level to Diagnostic, I could see the ld command thats being run, but since you haven’t, I can’t diagnose that part.

that said, can you send me the project?

THAT said:

I’m not sure where ___RemObjects_Elements_RTL_Foundation__ExtensionsNSObject is supposed to come from. RTL2 doesn’t;t seem to defined that, unless name mangling has been broken in the compiler (@ck?) to generate that name w/o an extra _.

but I just trried, creating an iOS project, using RTL2 and calling an NSObject extension method defined in RTL2, and all builds and links fine…

That’s wrong isn’t it ?

I’m building for my iphone, so shouldnt that be iOS/libElements.fx ?

I’ll send you the complete project.

it is?

Reference 'libElements' was resolved to '/Users/JohnMoshakis/Documents/Elements/References/Toffee/iOS/libElements.fx' for target 'Toffee-iOS' (Device).

vs

Reference 'libElements' was resolved to '/Users/JohnMoshakis/Documents/Elements/References/Toffee/iOS Simulator/libElements.fx' for target 'Toffee-iOS' (Simulator).

looks perfectly correct to me (also, again, it’;d fail on a completely different issues, if it wasn’t). It’s using iOS for Device and iOS Simulator for Simulator (note that EBuild always resolves/lists both).

I sent you a link to the zip file.

Got it. But it doesn’t build here at all, with errors it’s getting too late to investigate :(. I’ll need to have a more though look, tomorrow.

—marc

Ok, good news, it fails here with the same error. which means this is not a general problem with it picking the wrong libElements.fx, but sometime more concrete that’s tied to something your app calls (but none of the ones I test with do). I’ll investigate the issue more tomorrow and will probably end up logging a compiler bug for @ck.

(btw, you’ll hit an NRE when you build the SLN with only the iOS project enabled; that’s a known issue and I actually fixed that yesterday (it’s a problem with connecting project references if the referenced project is disabled).

1 Like

bugs://79147: iOS apps fails to link with “OBJC_CLASS$___RemObjects_Elements_RTL_Foundation__ExtensionsNSObject” not found

Fixed, your iOS project now builds for me up to

                        -> Task RemObjects.EBuild.Elements.ElementsLocateProvisioningProfileToffee started for Toffee-watchOS.
E:                         No provisioning profile matching 'ff966a37-bf48-4ccf-83d1-946452d42c17' was found..
                           Available profiles:
                           | profile 'Curacao TV App Store 2017' (0dd4cee0-7bd6-487d-879e-7385da7992a1)
                           | profile 'Curaçao Weather 2017' (2259147c-9380-43b8-9589-fe3607ae2017)
                           | profile 'Dough 3 AdHoc - rev6' (66bfa0c2-37b2-4860-8b21-27eae3c9244c)
                        <- Task RemObjects.EBuild.Elements.ElementsLocateProvisioningProfileToffee failed, took 0.0125s (0.0128s).

which is of course expected to fail.

I’ve uploaded a new build for you.

1 Like

all good now?

Sorry I haven’t been able to check yet. I will be doing so shortly and seeing if I can deploy. I’ll let you know for sure.

1 Like

It builds.

I get this error deploying

default 21:13:18.456620 -0500 crossboxhelper AMDeviceInstallApplication (thread 0x7fffb8dba340): ENTRY
default 21:13:19.581400 -0500 crossboxhelper AMDErrorForMobileInstallationCallbackDict (thread 0x7fffb8dba340): GOT AN ERROR 0xe800009c
default 21:13:19.581472 -0500 crossboxhelper perform_command (thread 0x7fffb8dba340): There was an error communicating with the service agent: 0xe800009c
default 21:13:19.581510 -0500 crossboxhelper AMDeviceSecureInstallApplication (thread 0x7fffb8dba340): Old style install failed for (PublicStaging/SailingLogiOS.app)
default 21:13:19.581550 -0500 crossboxhelper AMDeviceSecureInstallApplication (thread 0x7fffb8dba340): Could not install package on device: kAMDMissingBundleVersionError

Curious. Will check in the morning.

Does setting a Bundle version in project settings fix this? (I’m fixing EBuild to set a default of 1.0)

Yes it does. Unfortunately the watch app doesn’t appear to want to install. I see the installing icon on the watch face and it shows progress but it doesnt get to 100% and the icon is removed.

I think this is the error

0x16f033000 -[ACXServerInstallOperation receivedDictionaryOrData:]: 591: Got error 17 in install done from remote side (MI error ApplicationVerificationFailed ; Extended 0xe8008001 ; Desc Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.9ewy9Q/extracted/Payload/iSailedWatchOS.app : 0xe8008001 (An unknown error has occurred.))

hmm, ok. as i mentioned, this was always unreliable for me (but i never oursued it seriously). i take it you had no such problerms with the previous, xbuild-built version? can you send me both a “good” .app or .ipa, as well as the new one, so i can compare?

oh, any other messages in the watch log (opposed to the iOS device’s)?

I sent you an email with the apps.

I’ve had no problems with xbuild once I got everything working. I have 2 functioning watch apps so I think its going really well :slight_smile:

I’ve never had the watch log working either in or outside xcode. I’ll have another look.

1 Like

Thanx, i’ll have a look and compare, tomorrow.

  • For one, the EBuild version seems to be missing the embedded 3P Frameworks. dd you change that, or should those be there? Does your iOS app work, and just the watchOS one fails to deploy, or do both fail?

  • PkgInfo is also missing (no not sure if that’s actually needed, but fixed).

  • Watch app and extension are not code-signed (this I cannot repro. maybe a setting in your project? here they get signed fine (after I changed the project to use may own profile/cert, ofc).

  • The Watch app storyboard is not b being processed, but embedded as is (actually, it’s being processed, but added as subfolder, same as on iOS; seems watchOS whats that flattened. fixed).

I’ll check into these.

Also, where these build against different SDK versions? I’m asking because all nib fils differ, and even the WK binary (which I just copy over).