Skip to content

Build on MacOS with XCode for iOS

Marcus Hudritsch edited this page May 13, 2023 · 15 revisions
  • Clone the SLProject GIT repository into a directory of your choice
  • For the setup with automatic app signing to enable app installation on your device:
    • You need an iPhone or an iPad
    • You need an apple id and a free Apple developer account
    • You have to install Xcode
    • You have to install cmake (I use dmg from the official website, uninstall all other versions before)
  • If you have not done that yet, add your apple id to Xcode (https://learnappmaking.com/how-to-create-a-free-apple-developer-account/).
    • Start Xcode on your Mac
    • Choose the Xcode → Settings... menu and navigate to the Accounts pane
    • Click the +-button in the bottom-left corner and choose Apple ID
    • Login with your Apple ID email address and password
    • Transfer your personal developer team-id into the generate_xcode_project_ios_personal.sh script
  • Open the app "Keychain Access"
    • On the top left of the window, select "login" under "Keychains" and underneath in "Category" select "Certificates"
    • In the main window double click on your Apple developer certificate (e.g. Apple Development: youremail@nothing.com (1234556))
    • In the pop-up window, copy (only) the id in the line containing "Organisational Unit". This is your personal developer team id.
    • Transfer your developer team id into the generate_xcode_project_ios_personal.sh script (e.g. -DXCODE_DEVELOPMENTTEAM="<your_id>")
  • Open a terminal, navigate to this directory, and run the following commands
    • chmod +x generate_xcode_project_ios_personal.sh
    • ./generate_xcode_project_ios_personal.sh
  • Open the Xcode project file from the directory BUILD_IOS
  • Build and install the app. You will get a prompt saying: Could not launch “"
  • On your device: go to Settings/General/Device Management and select "Apple Development: ".
    • Select "Trust "Apple Development: ""
  • Back in Xcode, build, and install the app.