Как я могу добавить банки динамично к jython в сценарии?

Я нашел ответ после поиска вокруг. Вот то, что я сделал:

  1. Создают новый проект в XCode. Я думаю, что использовал основанное на представлении приложение.

  2. Перетаскивают объект веб-представления на Ваш интерфейс и изменяют размеры.

  3. Внутренняя часть Вашего WebViewController.m (или столь же названный файл, в зависимости от названия Вашего представления), в viewDidLoad методе:

    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];  
    NSData *htmlData = [NSData dataWithContentsOfFile:filePath];  
    if (htmlData) {  
      NSBundle *bundle = [NSBundle mainBundle]; 
      NSString *path = [bundle bundlePath];
      NSString *fullPath = [NSBundle pathForResource:@"index" ofType:@"html" inDirectory:path];
      [webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:fullPath]]];
    }
  4. Теперь любые файлы Вы добавили, поскольку ресурсы к проекту доступны для использования в Вашем веб-приложении. У меня есть файл index.html включая JavaScript и css и файлы изображений без проблем. Единственное ограничение, которое я нашел до сих пор, - то, что я не могу создать новые папки, таким образом, все файлы загромождают папку ресурсов.

  5. Прием: удостоверьтесь, что Вы добавили файл как ресурс в XCode, или файл не будет доступен. Я добавлял пустой файл в XCode, затем перетаскивая мой файл на вершине в средстве поиска. Это работало на меня.

Примечание: Я понимаю, что Obj-C не должен быть этим трудно для изучения. Но так как у меня уже есть это приложение, существующее в JS, и я знаю, что это работает в Safari, это - намного более быстрый dev цикл для меня. Однажды я уверен, что должен буду сломаться и изучить Obj-C.

Несколько других ресурсов я нашел полезным:

Вызов Obj-C из JavaScript: цель-c вызова от javascript

, Называя JavaScript от Obj-C: разработка приложения для iPhone для веб-хакеров

файлы Чтения от комплекта приложений: uiwebview

14
задан gregturn 13 November 2009 в 17:54
поделиться

1 ответ

Просто добавьте свой jar в sys.path, например:

~ $ jython
Jython 2.5.0+ (trunk:6691, Aug 17 2009, 17:09:38) 
[Java HotSpot(TM) Client VM (Apple Computer, Inc.)] on java1.6.0-dp
Type "help", "copyright", "credits" or "license" for more information.
>>> from org.thobe.somepackage import SomeClass # not possible to import yet
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named thobe
>>> import sys
>>> sys.path.append("/var/javalib/some-thobe-package.jar") # add the jar to your path
>>> from org.thobe.somepackage import SomeClass # it's now possible to import the package
>>> some_object = SomeClass() # You can now use your java class

Это не может быть проще:)

В вашем случае вы, вероятно, захотите использовать путь к вашему пакету, чтобы найти банку:

# yourpackage/__init__.py

import sys, os
if 'java' in sys.platform.lower():
    sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)),
                                 "your-lib.jar"))
    from jython_implementation import library
else:
    from cpython_implementation import library

Надеюсь, что это поможет!

25
ответ дан 1 December 2019 в 12:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: