Impossible to build for devices

I have just downloaded the latest version of fuse, and XCode. I can build apps for Local without any issue, but if I try to fuse build --target=iOS --run or fuse build --target=Android --run then all I get is two dozens of: ../../../../../usr/local/share/uno/Packages/UnoCore/0.24.5/Targets/CPlusPlus/iOS/$.uxl(41,16): E0000: An exception was thrown by the type initializer for System.Drawing.GDIPlus

And a FATAL ERROR: Build failed. in the end. I really have no idea where to start investigating this. Even if I download an example for fusetools.com, I just cannot build it.

Hi,

I would need some more info about your system, to be able to help you.

So which version of OS X are you running? I would also like to see the results of running the following commands otool -L /usr/lib/libbz2.1.0.dylib and otool -L /usr/lib/libiconv.2.dylib from terminal.

Hi Emil, thanks for the reply (and for Fuse)

I’m running El Capitan 10.11.3, fully updated (but not the beta version).

otool -L /usr/lib/libbz2.1.0.dylib:

/usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.5)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1225.0.0)

otool -L /usr/lib/libiconv.2.dylib:

/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1225.0.0)

Edit: maybe worth mentioning that I am able to build the project with XCode

This have been reported once before, however I have been unable to pinpoint why it happens (it doesn’t happen in a clean VM).

Could you try to run export MONO_LOG_LEVEL=debug and in the same terminal instance run fuse build --target=iOS --run. Then upload the output to our private dropbox: https://www.dropbox.com/request/ZgndLtJQm5eGzG9cicGK.

Pro tip: Pipe the build command to a file by fuse build --target=iOS --run > log.txt

Done. I did a --target=Android because now that I’ve fiddled with XCode, --target=iOS gives me a different error (something with signed certs)

Thanks for the log! :slight_smile:

So it looks like our bundled mono is missing a required dependency. I’ll will fix that, however a temporary solution, is to install: http://download.mono-project.com/archive/4.0.4/macos-10-x86/MonoFramework-MDK-4.0.4.macos10.xamarin.x86.pkg

For your other problem, have you synced the neccessary certificates, that allows you to deploy iOS apps?

In that regard, some more information, would be helpful.

I have not synced anything, I was under the impression that, for testing and preview purposes I didn’t need any signed certificate? I’m probably wrong in that regard, is there something Fuse-specific that I should do?

Thanks for the link to Mono!

You need something called provisioning profile. This article here explains the steps required http://codewithchris.com/deploy-your-app-on-an-iphone/

You should be able to deploy apps with Fuse to iOS, after that.

Hm but I don’t even want to reach this step, I just want an on-device preivew. XCode will let me do that even without a dev account. Is it intended that Fuse requires an Apple Dev account for preview on device?

Fuse exports the preview app to the device through Xcode, so we’re subject to whatever requirements xcode imposes for that.

However, it should now be possible to deploy (for testing purposes) using the free provisioning profile option that was included as of Xcode 7.

I believe this requires you to use a specific bundle identifier for your app, matching the one set for the provisioning profile. The bundle identifier for is by default defined by your Fuse project name but it can be set to anything you want through iOS.BundleIdentifier in the project file.

As for otherwise setting up the free provisioning, this and this seems like good starting points.

Thanks so much. What I had to do was to get the Bundle Identifier generated by XCode, put it in the .unoproj, and I could build for iOS. This problem is solved.

However (sorry :D) fuse build will install the app on device and then detach, and fuse preview will build a preview and open XCode. Is there a way to have the “live preview” on device? Like, I change the code in Sublime, hit Save, and the change is visible on the phone instantly. I thought I gatehred from the video that Fuse could do that, but I cannot replicate the behaviour.

Edit: fixed, solved, running. After fuse preview opens XCode, you must ask XCode to install the project on device, and it will actually install the Preview App, which has the live reload. Truly magical. Many thanks for the support!

yes, using preview will open xcode, but then if you build and deploy that app from xcode (cmd+R) you’ll get what you’re looking for :slight_smile: