Code Monkey home page Code Monkey logo

unity-apple-distribution-workflow's People

Contributors

omgitsraven avatar unsh avatar v01pe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

unity-apple-distribution-workflow's Issues

How to test entitlements in development?

I've been trying to use this workflow to test iCloud support prior to submitting to the app store, and the result always gave me an entitlements error, and I've just noticed that's because the if [ "$BUILD_FOR" = "dev" ] ; then condition doesn't use --entitlements "$locationEntitlements" in its codesign calls.

I'm assuming there's a reason for that, but it leaves me with the question: if 'dev' mode can't use entitlements, what's the proper way to test things like iCloud without submitting a build to the app store? Should I be using 'outside' mode, even though the project is set up to (eventually) be an App Store app?

macOS Signed Sandbox Builds now require Apple Development Certificate

Apple have changed recently the signing for Developer Signed Sandbox builds to no longer use the "Mac Development" Certificate in favour of the new iOS/tvOS/macOS Shared Developer "Apple Development" Certificate.

image

Using the Mac Development certificate causes code signing issues on Catalina with Xcode 11.2

This was a recent change last Wednesday.

Coming from Google, you probably want to use fastlane as an alternative to this

Configure your project with fastlane, then copy the files into the built project or merge them whenever you need to automate a build.

Your Fastfile will look like this:

default_platform(:ios)

platform :ios do
  lane :beta do
    clear_derived_data
    build_app(scheme: "Unity-iPhone", include_bitcode: true, export_xcargs: "-allowProvisioningUpdates")
    changelog_from_git_commits
    # you can specify various settings here, just read the Fastlane docs. This is for automated testing
    upload_to_testflight(distribute_external: true, groups: ["Public"])
  end
end

Your Appfile will look like this:

app_identifier("com.example.app")
apple_id("[email protected]")
itc_team_id("1234567") # see https://stackoverflow.com/questions/42960644/how-to-get-itunes-connect-team-id-and-team-name/46415415
team_id("K1234567")

That's it. You can write a script that copies these two files into the appropriate directory when you build your project:

UNITY_VERSION=$(cat ProjectSettings/ProjectVersion.txt | tr " " "\n" | sed -n 2p)
UNITY=/Applications/Unity/Hub/Editor/${UNITY_VERSION}/Unity.app/Contents/MacOS/Unity
${UNITY} \
    -buildTarget iOS \
    -batchmode \
    -nographics \
    -silent-crashes \
    -logFile ./unity.log \
    -projectPath $(pwd) \
    -quit \
    -executeMethod # after executeMethod, your custom c# build static method that puts the build into a specified directory
cp -r fastlane your/build/directory/fastlane
cd your/build/directory
fastlane ios beta

Entitlements.plist missing and mkdir fails

Firstly, this is an absolutely amazing effort and I am super thankful to you for creating this! And I'm sure whoever next tries to build for Mac will also be!

2 minor issues:
The SignAndPackage script looks for "Entitlements.plist", but the file is called "entitlements.plist".
The SignAndPackage script tries to mkfile but there is are no folders Appstore/Development and Appstore/Distribution and /Outside appstore so it crashes.

Otherwise works wonderfully!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.