Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🍏 Improves iOS support #1160

Merged
merged 1 commit into from
Jun 21, 2020
Merged

Conversation

AndreMiras
Copy link
Member

Updates & fixes support for iOS target, covers the following:

  • Build integration test
  • Updates to new kivy-ios structure
  • Bumps to ios-deploy 1.10.0 (make replaced by xcodebuild)
  • Makes it possible to toggle code signing (now disabled by default)

Note this is the first iteration of a longer serie.
Subsequent pull requests will try to improve the following:

  • code signing process (toggle not fully integrated)
  • actual deployment (not yet tested)
  • unit tests (mainly buildozer/targets/ios.py)
  • other forms of technical debt

Updates & fixes support for iOS target, covers the following:
- Build integration test
- Updates to new kivy-ios structure
- Bumps to ios-deploy 1.10.0 (`make` replaced by `xcodebuild`)
- Makes it possible to toggle code signing (now disabled by default)

Note this is the first iteration of a longer serie.
Subsequent pull requests will try to improve the following:
- code signing process (toggle not fully integrated)
- actual deployment (not yet tested)
- unit tests (mainly `buildozer/targets/ios.py`)
- other forms of technical debt
@@ -17,7 +17,7 @@ jobs:
- name: Setup environment
run: |
pip install -e .
pip install Cython==0.29.19
pip install Cython
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We use to have issues years ago with Cython versions, but it's no longer the case, so I don't see a reason to pin it until issues are back

@@ -22,7 +22,7 @@ source.include_exts = py,png,jpg,kv,atlas
#source.exclude_exts = spec

# (list) List of directory to exclude (let empty to not exclude anything)
#source.exclude_dirs = tests, bin
#source.exclude_dirs = tests, bin, venv
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I too often see people doing reports because buildozer picked up some venv garbage, so here're some pointers for people who care to read through the default example 😄

ios.ios_deploy_branch = 1.10.0

# (bool) Whether or not to sign the code
ios.codesign.allowed = false
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two things here. First, I'm ditching the old C-style 0 or 1 fashion and I plan to do so through the entire code base in the future. The good thing is it's retro compatible, so people it won't change in behavior for people having 0 or 1 in their settings https://docs.python.org/3/library/configparser.html#supported-datatypes
Second I set this up to false by default while introducing the setting. This is a change in behavior, but will lead to less complains/questions from our users. This is because most of the time people just want to try things locally and don't need to sign and publish to the Apple store. As for the ones who went through all the struggle and actually made it to be 99% ready to publish to the store, they're usually good enough to figure out they need to change this setting to sign their app

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I honestly though that codesign would be used in release only, never in debug mode

@@ -99,10 +102,21 @@ def install_platform(self):
branch='1.7.0',
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I decided to not address this DRY now, but it's on my radars for next pull requests

@AndreMiras AndreMiras merged commit a967c09 into kivy:master Jun 21, 2020
@AndreMiras AndreMiras deleted the feature/ios_build branch June 21, 2020 12:39
AndreMiras added a commit to AndreMiras/buildozer that referenced this pull request Jun 28, 2020
This is a follow-up for kivy#1160 and kivy#1168.
Addresses the following:
- grows `buildozer/targets/ios.py` target coverage from 24% to 56%
- fixes `AttributeError` on `TargetIos` error call

Next up should be improving:
- code signing process (toggle off not fully integrated)
- actual deployment (not yet tested)
- further increase `buildozer/targets/ios.py` test coverage
AndreMiras added a commit to AndreMiras/buildozer that referenced this pull request Jun 28, 2020
This is a follow-up for kivy#1160 and kivy#1168.
Addresses the following:
- grows `buildozer/targets/ios.py` target coverage from 24% to 56%
- fixes `AttributeError` on `TargetIos` error call

Next up should be improving:
- code signing process (toggle off not fully integrated)
- actual deployment (not yet tested)
- further increase `buildozer/targets/ios.py` test coverage
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants