2012-03-17 2 views
7

가능한 중복 : 난 그냥이 pypadpython for ios파이썬

그들은 통역이 같은 편집기가

그래서 애플 리케이션을 발견
Python or Ruby Interpreter on iOS

하는 앱을 추천 해주세요

하지만이 인터프리터는 어떻게 작동합니까? 그리고 obj c와 python이 어떻게 작동하는지 예제를 볼 수 있습니까?

감사합니다.

답변

11

나는 Python for iOS의 독창적 인 제작자이므로 당연히 내가 권하고 싶은 것은 물론이지만 개인적인 결정을위한 좋은 지표는 각 응용 프로그램의 리뷰 & 등급입니다. 그것은 제대로이 응용 프로그램을위한 오브젝티브 C로 파이썬을 통합하는 방법을 알아 내기 위해 주 걸렸다 그러나 여기 (ObjC는 C 단지 상위 있음을 유의하십시오) 당신이 시작하는 가장 좋은 자원이다 :

http://docs.python.org/c-api/


또한 여기에 myModule에 정의 된 함수를 호출하는 예제가 있습니다. equivient 파이썬은 다음과 같습니다 목표 - C에서

import myModule 
pValue = myModule.doSomething() 
print pValue 

:

#include <Python.h> 

- (void)example { 

    PyObject *pName, *pModule, *pDict, *pFunc, *pArgs, *pValue; 
    NSString *nsString; 

    // Initialize the Python Interpreter 
    Py_Initialize(); 

    // Build the name object 
    pName = PyString_FromString("myModule"); 

    // Load the module object 
    pModule = PyImport_Import(pName); 

    // pDict is a borrowed reference 
    pDict = PyModule_GetDict(pModule); 

    // pFunc is also a borrowed reference 
    pFunc = PyDict_GetItemString(pDict, "doSomething"); 

    if (PyCallable_Check(pFunc)) { 
     pValue = PyObject_CallObject(pFunc, NULL); 
     if (pValue != NULL) { 
      if (PyObject_IsInstance(pValue, (PyObject *)&PyUnicode_Type)) { 
        nsString = [NSString stringWithCharacters:((PyUnicodeObject *)pValue)->str length:((PyUnicodeObject *) pValue)->length]; 
      } else if (PyObject_IsInstance(pValue, (PyObject *)&PyBytes_Type)) { 
        nsString = [NSString stringWithUTF8String:((PyBytesObject *)pValue)->ob_sval]; 
      } else { 
        /* Handle a return value that is neither a PyUnicode_Type nor a PyBytes_Type */ 
      } 
      Py_XDECREF(pValue); 
     } else { 
      PyErr_Print(); 
     } 
    } else { 
     PyErr_Print(); 
    } 

    // Clean up 
    Py_XDECREF(pModule); 
    Py_XDECREF(pName); 

    // Finish the Python Interpreter 
    Py_Finalize(); 

    NSLog(@"%@", nsString); 
} 

더 많은 문서 체크 아웃 경우 : Extending and Embedding the Python Interpreter

+0

HI 남자 덕분에 많은 : 난에 그에 대한 기사를 썼다 숨겨진 기능?, 고마워요!, 끝내주는 직업! – MaKo

+0

https://github.com/pudquick/PythonForiOSPatches 누락 된 기본 모듈은 무엇을합니까? 호 설치 하시겠습니까? 감사합니다 – MaKo

+0

아, 이것은 사용자가 v1.1을 위해 만든 물건 이었지만 v1.2에서 구현되었습니다. – chown

10

내가 최근에 파이썬 포함하는 데 도움이되는 작은 도서관, ObjP을 썼다 Objective-C 애플 리케이션에서. 내가 iOS 앱에 대한 파이썬을 가지고, 그것을 사랑하고,하지만 난과 자식 허브 링크에 대한 참조 어떤 질문이,

http://www.hardcoded.net/articles/embedding-python-in-objc.htm

+0

(최근) iOS에서 테스트를 받았습니까? – bijan