Giter Club home page Giter Club logo

briefcase-ios-xcode-template's Introduction

logo

BeeWare

Python Versions PyPI Version Maturity BSD License Build Status Discord server

BeeWare is a collection of tools and libraries for building and distributing native applications in Python.

For an introduction to the full BeeWare suite, we recommend running the BeeWare Tutorial.

Community

You can talk to the BeeWare community through:

We foster a welcoming and respectful community as described in our BeeWare Community Code of Conduct.

Contributing

If you experience problems with BeeWare, log them on GitHub. If you want to contribute code, please fork the code and submit a pull request.

Translations

Translation status

We manage translations using Weblate.

Translation status

If you'd like to contribute to the translation effort, join the #translations channel on Discord and introduce yourself!

briefcase-ios-xcode-template's People

Contributors

ashtons avatar brutusthebee avatar cheukting avatar danyeaw avatar drewbrew avatar freakboy3742 avatar kevin-brown avatar mhsmith avatar rmartin16 avatar

Stargazers

 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

briefcase-ios-xcode-template's Issues

Switch template to a storyboard-based launch screen.

The iOS template has, for a while, generated projects that emit a warning that LaunchImage-based launch screens have been deprecated:

warning: 'UILaunchImages' has been deprecated, use launch storyboards instead. (in target 'Hello World' from project 'Hello World')

Today, Apple sent out a notification that as of June 30 2020: "Apps for iPhone or iPad must be built with the iOS 13 SDK or later and use an Xcode storyboard to provide the app’s launch screen."

We need to modify the iOS template to use a storyboard.

If you want to tackle this problem, here's the general approach:

  1. Use the XCode wizard to start a new (objective C) project from scratch. Determine what is needed to add a simple splash screen using a storyboard.
  2. Generate a simple HelloWorld project with the existing iOS template using Briefcase.
  3. Use the lessons derived from (1) to update the project from (2).
  4. Use a diffing tool to convert the changes made in (3) into the cookiecutter template provided by this repository.
  5. Test the new template with Briefcase (you can use the template setting in your pyproject.toml to point at your local directory while you're developing the template)

Splash screen not being used on apps

Describe the bug

The Xcode project definition includes a launch storyboard; but for some reason, the storyboard is not being used when launching iOS apps

Steps to reproduce

  1. Generate a hello world project
  2. Run on iOS

On launch, you get a black screen before the app is shown. The launch screen isn't shown.

Expected behavior

The "Made with BeeWare" launch screen should be displayed on app startup.

Screenshots

No response

Environment

  • Operating System: iOS 16.4
  • Python version: 3.10 (but likely all versions)
  • Software versions:
    • Briefcase: 0.3.14
    • Toga: 0.3.1
    • ...

Logs


Additional context

This did work in the past; it's likely been broken as a result of an Xcode upgrade at some point.

cannot create iOS project

hello. briefcase and beeware are great projects. i have special thanks for them.

i deployed an app for android and right now im trying for iOS, but i cant seem to work out.

what i did until now:

  • i've copied this template with cookiecutter. (generated)
  • i've created the python app.
  • i've run the python app, works on linux machine.
  • i have a pyproject.toml that requires toga-iOS==0.3.0.dev29
  • i've tried to run briefcase create ios and briefcase create iOS but i get this error:
❱  briefcase create iOS

iOS applications require Xcode, which is only available on macOS.

which takes me to wonder: do i really need to be on MacOS machine to actually build this project for iOS ?

but wait. i have a xcode project file in there.

here is my project tree

❱  exa --tree --icons --level 3
 .
├──  briefcase.toml
├──  ios_app
│  ├──  app
│  │  ├──  __init__.py
│  │  ├──  __main__.py
│  │  ├──  __pycache__
│  │  ├──  app.py
│  │  └──  README
│  ├──  app_packages
│  │  ├──  nslog.py
│  │  └──  README
│  ├──  en.lproj
│  │  └──  InfoPlist.strings
│  ├──  Images.xcassets
│  │  ├──  AppIcon.appiconset
│  │  └──  Splash.imageset
│  ├──  ios_app-Info.plist
│  ├──  ios_app-Prefix.pch
│  ├──  Launch Screen.storyboard
│  └──  main.m
├──  IOS_APP.xcodeproj
│  └──  project.pbxproj
├──  pyproject.toml
└──  Support
   ├──  BZip2
   │  ├──  Headers
   │  └──  libbzip2.a
   ├──  libFFI
   │  ├──  Headers
   │  └──  libFFI.a
   ├──  OpenSSL
   │  ├──  Headers
   │  └──  libOpenSSL.a
   ├──  Python
   │  ├──  Headers
   │  ├──  libPython.a
   │  └──  Resources
   ├──  README
   ├──  VERSIONS
   └──  XZ
      ├──  Headers
      └──  libxz.a

note: under Support folder i extracted what was recommended to put in there from this section of readme:

Download the Python Apple support package for iOS, and extract it into the My Project directory generated by the template. This will give you a My Project/Support directory containing a self contained Python install.
Alternatively, you can download the Python-Apple-support project, and build your own version.

wait i just saw this:

You're now ready to open the XCode project file, build and run your project!

this means that i should open this entire project with XCode editor from MacOS to build and run ?

my machine:

  • arch linux (manjaro 21 xfce)
  • kernel: Kernel: 5.10.79-1-MANJARO

the question: can i build this python project for IOS devices on linux environment?

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.