Runar Ovesen Hjerpbakk

Programmer. Software Architect. Technical Manager.

DNS worked using Docker run but not in Docker Compose

I created an API internal to our organization today. The API needed to access an SQL Server database and worked perfectly running on my local machine on the corporate network.

Then the time came to run it in a Docker container. And it failed. The API could not connect to the SQL database.

Read More

Cross-platform mobile development using C# and Xamarin Forms

One of my favorite professional activities is educating students on technical topics they’ve not yet encountered at the university.

Yesterday I gave a talk on cross-platform mobile development using C# and Xamarin for a group of students from NORD University in Bodø, Norway. The goal of the talk was to show how easy it is to create a cross-platform app using modern tools and give them a baseline from which they can create their own app.

Read More

Introducing Simplest Workout Tracker - The humane exercise log

Simples Workout Tracker icon

Most workout trackers are demanding. They require you to enter a lot of information just to track your progress and many shame you if you do not work out regularly. Simplest Workout Tracker has another philosophy: If you’ve exercised, that’s great! If not, there’s always another day.

Buy Simplest Workout Tracker in the App Store

Read More

Book Scanner 1.7.2 or why a simple change took one month

Book Scanner version 1.7.2 is finally completed and it’s the most awesome version of Book Scanner yet!

Book Scanner 1.7.2 is a modern classic

Book Scanner now works and looks good on all supported iOS devices and plays nicely with iOS 12.

Book Scanner in the App Store

Read More

ERROR ITMS-90362: Invalid Info.plist value

Book Scanner version 1.7.2 was coded to perfection and ready for shipping. Or so I thought:

ERROR ITMS-90362: Invalid Info.plist value

ERROR ITMS-90362: “Invalid Info.plist value. The value for the key ‘CFBundleExecutable’ in bundle BookScanneriOS.app/PlugIns/BookScanneriOSLatestBookExtension.appex is invalid. CFBundleExecutable must match the name of the bundle directory minus its extension.”

Read More

How to edit the Open Folder in Visual Studio Code macOS service

Got a question from andrewb273 on GitHub regarding my macOS service which opens a folder in Visual Studio Code:

Can you add the source code for this extension and instructions on building it?

Sure!

Read More

Xamarin.UITest for iOS 12

I’ve used Xamarin.UITest for both verifying the UI of my apps and automate screenshot taking for the App Store. This has worked, but with every iOS release, I’ve to tweak my tests to get them to run again.

This is what I had to do to get the default UITest template to run with Golden Ratio Calculator for iOS 12.

Read More

GitHub Pages 404

This morning I was greeted by this beautiful sight:

hjerpbakk.com 404

Obviously missing in action, but why?

Read More

You have an entitlement not supported by your current provisioning profile

My previously awesome Book Scanner app, written using Xamarin, currently has an embarrassing error on iOS 12: the app will not prompt the user for camera permissions, thus rendering the app useless.

Luckily, the fix is easy. Just add the following to the info.plist file and the user is prompted for permission when the app is run for the first time.

<key>NSCameraUsageDescription</key>
<string>Used to scan book barcodes</string>

So I made the change and thought it only reasonable to test it on my own device first. Unfortunately, the output from the Deploying to Device tab in Visual Studio crushed my dreams:

VerifyingApplication - PercentComplete: 40%

ApplicationVerificationFailed: Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.TCrsU1/extracted/BookScanneriOS.app : 0xe8008016 (The executable was signed with invalid entitlements.)

error MT1006: Could not install the application ‘/Users/sankra/projects/BookScanner/BookScanner.iOS/bin/iPhone/Release/BookScanneriOS.app’ on the device ‘iPhone XS’: Your code signing/provisioning profiles are not correctly configured. Probably you have an entitlement not supported by your current provisioning profile, or your device is not part of the current provisioning profile. Please check the iOS Device Log for details (error: 0xe8008016).

Application could not be uploaded to the device.

The app could not be uploaded to the device because of invalid entitlements. Strange, as the app has only a few entitlements and none that should be affected by the aforementioned small change.

Read More

Use Caps Lock as Escape in macOS

On Touch Bar enabled Macs, the Escape key has been removed and replaced by a Touch Bar software button. As a developer, this sucks. I use Escape all the time and need a proper button.

Luckily, this is easy to fix.

Read More