No need to box and unbox a value just to fix the warning. Just cast it correctly.
Add explicit workspace - something to open instead of the project to stop it making an embedded one.
Slightly tighter restriction - if someone makes a workspace called project.xcworkspace that's *not* embedded in a project, we want to commit it.