[DOC] add help to deploy on IOs
This commit is contained in:
parent
aa96a415b5
commit
82e8946227
112
doc/100_Use_on_Ios.md
Normal file
112
doc/100_Use_on_Ios.md
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
Build and deploy for IOS {#lutin_ios}
|
||||||
|
========================
|
||||||
|
|
||||||
|
@tableofcontents
|
||||||
|
|
||||||
|
Deploy on IOs is a little complicated, due to the fact Apple demand a developper licence.
|
||||||
|
|
||||||
|
To deploy you need to buy a [developper licence](https://developer.apple.com/account) nearly 99€ / year
|
||||||
|
|
||||||
|
Step 1: deploy your application with Xcode {#lutin_ios_xcode}
|
||||||
|
==========================================
|
||||||
|
|
||||||
|
it can be conplicated to do the first deploy (register tablette:watch ... or user ...)
|
||||||
|
Then the best way is now to create your first game sample application with XCode and deploy it on your device ...
|
||||||
|
|
||||||
|
|
||||||
|
when all your problem are solved, I can help you...
|
||||||
|
|
||||||
|
**Note:**
|
||||||
|
|
||||||
|
```
|
||||||
|
To add a device, in xcode select your top project, and in the section "signing" select "automatic manage signing", select your team and activate your device ...
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
step 2: Build for IOs {#lutin_ios_build}
|
||||||
|
=====================
|
||||||
|
|
||||||
|
This step is simpliest... All is integrated:
|
||||||
|
|
||||||
|
Select the target IOs
|
||||||
|
|
||||||
|
```{.sh}
|
||||||
|
lutin -C -D -tIOs yourApplication?build
|
||||||
|
```
|
||||||
|
|
||||||
|
This is done .... now deploy ...
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
step 3: Deploy {#lutin_ios_deploy}
|
||||||
|
==============
|
||||||
|
|
||||||
|
Do it ... it does not work ...
|
||||||
|
|
||||||
|
```{.sh}
|
||||||
|
lutin -C -D -tIOs yourApplication?install
|
||||||
|
```
|
||||||
|
|
||||||
|
Appliocation ID
|
||||||
|
---------------
|
||||||
|
|
||||||
|
It miss some things to do:
|
||||||
|
|
||||||
|
create a reference of you application in [apple interface](https://developer.apple.com/account/ios/identifier/bundle/create)
|
||||||
|
|
||||||
|
|
||||||
|
your application id is:
|
||||||
|
|
||||||
|
```{.py}
|
||||||
|
get_compagny_type() + "." + get_compagny_name() + "." + module.get_name()
|
||||||
|
```
|
||||||
|
|
||||||
|
For example if you module is named: ```lutin_application.py```
|
||||||
|
|
||||||
|
And you set description:
|
||||||
|
|
||||||
|
```{.py}
|
||||||
|
def get_compagny_type():
|
||||||
|
return "com"
|
||||||
|
|
||||||
|
def get_compagny_name():
|
||||||
|
return "compagny NAME"
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
your id is: ```com.compagnyname.application```
|
||||||
|
|
||||||
|
|
||||||
|
When you have create the application, it will generate for you a unique ID, you can see it on the webpage, it is like: ```DFGDSFGSDFGS.com.compagnyname.application```
|
||||||
|
|
||||||
|
In your module definition you need to add:
|
||||||
|
```{.py}
|
||||||
|
my_module.set_pkg("APPLE_APPLICATION_IOS_ID", "DFGDSFGSDFGS");
|
||||||
|
```
|
||||||
|
|
||||||
|
Team signing ID
|
||||||
|
---------------
|
||||||
|
|
||||||
|
the second point to do is creating the file: ```.iosKey.txt``` in you root path of your workspace (where you execute lutin)
|
||||||
|
|
||||||
|
it will contain sothing like:
|
||||||
|
```
|
||||||
|
'iPhone Developer: Francis DUGENOUX (YRRQE5KGTH)'
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
you can optain it with executing:
|
||||||
|
```{.sh}
|
||||||
|
certtool y | grep "Developer"
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Install:
|
||||||
|
--------
|
||||||
|
|
||||||
|
Now it works ...
|
||||||
|
|
||||||
|
```{.sh}
|
||||||
|
lutin -C -D -tIOs yourApplication?build
|
||||||
|
```
|
@ -105,6 +105,7 @@ Tutorals: {#lutin_mainpage_tutorial}
|
|||||||
- @ref lutin_concept
|
- @ref lutin_concept
|
||||||
- @ref lutin_use
|
- @ref lutin_use
|
||||||
- @ref lutin_module
|
- @ref lutin_module
|
||||||
|
- @ref lutin_ios
|
||||||
|
|
||||||
|
|
||||||
License (APACHE v2.0) {#lutin_mainpage_licence}
|
License (APACHE v2.0) {#lutin_mainpage_licence}
|
||||||
@ -138,3 +139,6 @@ Some other problem example:
|
|||||||
- none is really simple to write.
|
- none is really simple to write.
|
||||||
|
|
||||||
Then I create a simple interface that manage all I need. and written in python to permit to be faster on every platform.
|
Then I create a simple interface that manage all I need. and written in python to permit to be faster on every platform.
|
||||||
|
|
||||||
|
|
||||||
|
[link macos account developper](https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppStoreDistributionTutorial/AddingYourAccounttoXcode/AddingYourAccounttoXcode.html)
|
||||||
|
@ -367,14 +367,14 @@ class Target(target.Target):
|
|||||||
debug.info("Install package '" + pkg_name + "'")
|
debug.info("Install package '" + pkg_name + "'")
|
||||||
debug.debug("------------------------------------------------------------------------")
|
debug.debug("------------------------------------------------------------------------")
|
||||||
if self.get_simulation() == False:
|
if self.get_simulation() == False:
|
||||||
if tools.file_size("ewol/ios-deploy/ios-deploy") == 0:
|
if tools.file_size("framework/tools/ios-deploy/build/Release/ios-deploy") == 0:
|
||||||
debug.print_element("tool", "ios-deploy", "<==", "external sources")
|
debug.print_element("tool", "ios-deploy", "<==", "external sources")
|
||||||
cmdLine = 'cd ewol/ios-deploy ; make ; cd ../.. '
|
cmdLine = 'cd framework/tools/ios-deploy ; xcodemake ; cd ../.. '
|
||||||
multiprocess.run_command(cmdLine)
|
multiprocess.run_command(cmdLine)
|
||||||
if tools.file_size("ewol/ios-deploy/ios-deploy") == 0:
|
if tools.file_size("framework/tools/ios-deploy/build/Release/ios-deploy") == 0:
|
||||||
debug.error("Can not create ios-deploy external software ...")
|
debug.error("Can not create ios-deploy external software ...")
|
||||||
debug.print_element("deploy", "iphone/ipad", "<==", "aplication")
|
debug.print_element("deploy", "iphone/ipad", "<==", "aplication")
|
||||||
cmdLine = './ewol/ios-deploy/ios-deploy --bundle ' + self.get_staging_path(pkg_name)
|
cmdLine = './framework/tools/ios-deploy/ios-deploy --bundle ' + os.path.join(self.get_staging_path(pkg_name),pkg_name + ".app")
|
||||||
multiprocess.run_command(cmdLine)
|
multiprocess.run_command(cmdLine)
|
||||||
else:
|
else:
|
||||||
simulatorIdFile = ".iosSimutatorId_" + pkg_name + ".txt"
|
simulatorIdFile = ".iosSimutatorId_" + pkg_name + ".txt"
|
||||||
@ -424,14 +424,14 @@ class Target(target.Target):
|
|||||||
debug.info("log of iOs board")
|
debug.info("log of iOs board")
|
||||||
debug.debug("------------------------------------------------------------------------")
|
debug.debug("------------------------------------------------------------------------")
|
||||||
if self.get_simulation() == False:
|
if self.get_simulation() == False:
|
||||||
if tools.file_size("ewol/ios-deploy/ios-deploy") == 0:
|
if tools.file_size("framework/tools/ios-deploy/ios-deploy") == 0:
|
||||||
debug.print_element("tool", "ios-deploy", "<==", "external sources")
|
debug.print_element("tool", "ios-deploy", "<==", "external sources")
|
||||||
cmdLine = 'cd ewol/ios-deploy ; make ; cd ../.. '
|
cmdLine = 'cd framework/tools/ios-deploy ; xcodebuild ; cd ../.. '
|
||||||
multiprocess.run_command(cmdLine)
|
multiprocess.run_command(cmdLine)
|
||||||
if tools.file_size("ewol/ios-deploy/ios-deploy") == 0:
|
if tools.file_size("framework/tools/ios-deploy/build/Release/ios-deploy") == 0:
|
||||||
debug.error("Can not create ios-deploy external software ...")
|
debug.error("Can not create ios-deploy external software ...")
|
||||||
debug.print_element("deploy", "iphone/ipad", "<==", "aplication")
|
debug.print_element("deploy", "iphone/ipad", "<==", "aplication")
|
||||||
cmdLine = './ewol/ios-deploy/ios-deploy --debug --bundle ' + self.get_staging_path(pkg_name)
|
cmdLine = './framework/tools/ios-deploy/build/Release/ios-deploy --debug --bundle ' + os.path.join(self.get_staging_path(pkg_name),pkg_name + ".app")
|
||||||
multiprocess.run_command(cmdLine)
|
multiprocess.run_command(cmdLine)
|
||||||
else:
|
else:
|
||||||
cmdLine = "tail -f ~/Library/Logs/iOS\ Simulator/7.1/system.log"
|
cmdLine = "tail -f ~/Library/Logs/iOS\ Simulator/7.1/system.log"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user