精华内容
下载资源
问答
  • XcodePython

    千次阅读 热门讨论 2019-09-23 17:08:39
    Product Name写自己创建的工程名,Build Tool写Python安装路径,完事按Next 选择创建项目的文件夹,完事Create 然后点左上角的python_test选择Edit Scheme... 选择第一个Info——>Executa...

    选择新建

    选择cross-platform ——>External Build System然后Next

    Product Name写自己创建的工程名,Build Tool写Python安装路径,完事按Next

    选择创建项目的文件夹,完事Create

    然后点左上角的python_test选择Edit Scheme...

    选择第一个Info——>Executable——>other

    找到安装Python目录的bin下的python.app然后Choose(我的是/anaconda3/bin)

    Debug executable前面的对号取消

    选择Argument——>Arguments Passed On Launch添加自己要编写的Python文件(我的是例子文件python_test.py)

    选择Options——>Working Directory点上对号然后找到自己刚刚创建的Python文件目录

    例如我刚刚就是在Xcode_item中创建的python_test,然后按choose

    然后按close

    然后File——>New——>File

    选择macOS——>Other——>Empty——>Next

    在Save As中写自己要创建的Python文件名(注意:要与Argument中文件名一致)然后Create

    最后测试一次吧

    完美运行

    展开全文
  • 检查Xcode项目的project文件中,target是否被人误删,并发送邮件告警
  • # -*- coding: utf-8 -*- import requests import os from biplist import * ...from mod_pbxproj import XcodeProject def CleanDirectory(dirPath): isexits = os.path.exists(dirPath) if isexits...

    # -*- coding: utf-8 -*-

    import requests

    import os

    from biplist import *

    from mod_pbxproj import XcodeProject

     

    def CleanDirectory(dirPath):

        isexits = os.path.exists(dirPath)

        if isexits:

            for root, dirs, files in os.walk(dirPath):

                for fileName in files:

                    del_file = os.path.join(root, fileName)

                    os.remove(del_file)

        else:

            os.mkdir(dirPath)

     

    class Server():

        dev     = 0

        test    = 1

        online  = 2

        staging = 3

     

    def CodeUpdate():

        gotoRootDir = os.system("cd %s"%(os.getcwd()))

        gitFetch = os.system("git fetch --all")

        gitResetLocal = os.system("git reset --hard origin/master")

        gitPull = os.system("git pull")

     

    def ModifyInfoPlist(app_name,app_version,build_version="1.0"):

        infoPlist = readPlist('./Pocket7Games/Info.plist')

        infoPlist["CFBundleVersion"] = build_version

        infoPlist["CFBundleShortVersionString"] = app_version

        infoPlist["CFBundleDisplayName"] = app_name

        writePlist(infoPlist,"./Pocket7Games/Info.plist")

     

    def ModifyExportOptionsPlist(team_id,method,profile_id,profile_name):

        exportPlist = readPlist('./ExportOptions.plist')

        exportPlist["teamID"] = team_id

        exportPlist["method"] = method

        exportPlist["provisioningProfiles"] = {profile_id:profile_name}

        writePlist(exportPlist,"./ExportOptions.plist")

     

    def ModifyXcodeProject(bundle_id,profile_name,codesign_id,team_id):

        project = XcodeProject.Load('./Pocket7Games.xcodeproj/project.pbxproj')

        rootObject = project["rootObject"]

        projectObject = project["objects"][rootObject]["targets"]

        buildConfigurationLists = []

        for id in projectObject:

            buildConfigurationList = project["objects"][id]["buildConfigurationList"]

            buildConfigurationLists.append(buildConfigurationList)

        buildListsArr = []

        for key in buildConfigurationLists:

            buildListsArr = buildListsArr + project["objects"][key]["buildConfigurations"]

        for key in buildListsArr:

            version =  project["objects"][key]["name"].lower()

            if project["objects"][key]["buildSettings"]:

                buildSettingsArr = project["objects"][key]["buildSettings"]

                buildSettingsArr['PRODUCT_BUNDLE_IDENTIFIER'] = bundle_id

                buildSettingsArr['PROVISIONING_PROFILE_SPECIFIER'] = profile_name

                buildSettingsArr['CODE_SIGN_IDENTITY'] = codesign_id

                buildSettingsArr['CODE_SIGN_STYLE'] = "Manual"

                buildSettingsArr['DEVELOPMENT_TEAM'] = team_id

        project.save()

     

    def ModifyLinkedServer(server):

        networkDefinesPath = './Pocket7Games/NetWork/NCNetWorkDefines.h'

        networkDefinesPath_New = './Pocket7Games/NetWork/NCNetWorkDefines_New.h'

        networkDefinesPath_Bak = './Pocket7Games/NetWork/NCNetWorkDefines_Bak.h'

        with open(networkDefinesPath, 'r') as read_file, open(networkDefinesPath_New, 'w') as write_file:

            for r_line in read_file:

                if "#define HostFlag" in r_line :

                    serverString = "#define HostFlag %d\n"%(server)

                    write_file.write(serverString)

                else:

                    write_file.write(r_line)

        os.rename(networkDefinesPath, networkDefinesPath_Bak)

        os.rename(networkDefinesPath_New, networkDefinesPath)

        os.remove(networkDefinesPath_Bak)

     

    def ModifyDebugBall(show_debugball):

        debugBallPath = './Pocket7Games/AviaAppDelegate.mm'

        debugBallPath_New = './Pocket7Games/AviaAppDelegate_New.mm'

        debugBallPath_Bak = './Pocket7Games/AviaAppDelegate_Bak.mm'

        with open(debugBallPath, 'r') as read_file, open(debugBallPath_New, 'w') as write_file:

            for r_line in read_file:

                if "[[AviaDebug sharedAviaDebug] addDebugButton]" in r_line :

                    if show_debugball:

                        write_file.write("    [[AviaDebug sharedAviaDebug] addDebugButton];\n")

                    else:

                        write_file.write("//    [[AviaDebug sharedAviaDebug] addDebugButton];\n")

                else:

                    write_file.write(r_line)

        os.rename(debugBallPath, debugBallPath_Bak)

        os.rename(debugBallPath_New, debugBallPath)

        os.remove(debugBallPath_Bak)

     

    def OutputIPA():

        BuildCommandPath = "/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild"

        archiveDir = "{0}/NC_iOSArchive".format(os.path.join(os.path.expanduser("~"), 'Desktop'))

        archivePath = "{0}/NC_iOSArchive/Pocket7Games".format(os.path.join(os.path.expanduser("~"), 'Desktop'))

        exportOptionsPath = os.path.abspath('ExportOptions.plist')

        CleanDirectory(archiveDir)

        cleanResult = os.system("{0} -workspace Pocket7Games.xcworkspace -scheme Pocket7Games clean".format(BuildCommandPath))

        buildResult = os.system("{0} -workspace Pocket7Games.xcworkspace -scheme Pocket7Games build".format(BuildCommandPath))

        archiveResult = os.system("{0} archive -workspace Pocket7Games.xcworkspace -scheme Pocket7Games -archivePath {1}".format(BuildCommandPath,archivePath))

        outputIPAResult = os.system("{0} -exportArchive -archivePath {1}.xcarchive -exportPath {2} -exportOptionsPlist {3}".format(BuildCommandPath,archivePath,archiveDir,exportOptionsPath))

        ipaPath = "%s.ipa"%(archivePath)

        print("ipa文件路径:{0}".format(ipaPath))

        return ipaPath

     

    def UploadToFir(ipaPath):

        firApiToken = "XXXXX"

        publishResult = os.system("fir publish {0} -T {1}".format(ipaPath,firApiToken))

     

    def NewCodeBuild(app_name,version,bundle_id,profile_name,team_id,enviroment,debugFlag,server):

        CodeUpdate()

        ModifyInfoPlist(app_name,version)

        ModifyExportOptionsPlist(team_id,enviroment,bundle_id,profile_name)

        ModifyXcodeProject(bundle_id,profile_name,"iPhone Developer",team_id)

        ModifyLinkedServer(server)

        ModifyDebugBall(debugFlag)

        ipaPath = OutputIPA()

        UploadToFir(ipaPath)

     

    #-----------------------这是分割线,下面是入口函数-----------------------

    if __name__ == '__main__':

        

    #    App的名字

        app_name = "Pocket7Games"

    #    App的版本

        version = "1.3.1"

    #    App的标识符

        bundle_id = ""

    #    开发者账号的配置文件名

        profile_name = "Pocket7Test"

    #    开发者账号的ID,常用第一个(1)   (2)

        team_id = "XXXX"

    #    打包设置,常用development  (1)app-store   (2)ad-hoc   (3)enterprise   (4)development

        enviroment = "development"

    #    调试模式的小篮球开关 True False

        debugFlag = True

    #    服务端的服务器设置,参照脚本的18~21行去修改

        server = Server().test

        

    #   **下面是执行体,不要动!!!**

        NewCodeBuild(app_name,version,bundle_id,profile_name,team_id,enviroment,debugFlag,server)

        

    注:

    fir安装命令

    sudo gem install fir-cli

    展开全文
  • pycharm CE下载 使用教程 1、基础学习网站 2、在Xcode7中搭建python开发环境...3、Python学习-MAC下使用xcode7运行Python一.官网下载:Python Releases for Mac OS X二.提出Python 转载于:https://www.cnb...

    pycharm CE下载   使用教程

     

     

    1、基础学习网站

    2、在Xcode7中搭建python开发环境,这个不行了就试试第二个,我是第二个可以正常输出了,第一个没有输出

    3、Python学习-MAC下使用xcode7运行Python一.官网下载:Python Releases for Mac OS X 二.提出Python

     

    转载于:https://www.cnblogs.com/xujiahui/p/7086480.html

    展开全文
  • 我想知道在Mac上编写Python脚本的最佳方法是什么。我经历过两种方法(注意,我尽量避免使用vim,因为我需要一个IDE相当乏味的文本编辑器)。我在Eclipse中使用了pydev(我对他们的建议和步骤进行的越多,所有事情看起来...

    本问题已经有最佳答案,请猛点这里访问。

    我想知道在Mac上编写Python脚本的最佳方法是什么。我经历过两种方法(注意,我尽量避免使用vim,因为我需要一个IDE相当乏味的文本编辑器)。我在Eclipse中使用了pydev(我对他们的建议和步骤进行的越多,所有事情看起来就越麻烦)。虽然我已经设置好了所有的东西,它可以编译..我想知道有没有更好的方法。我不太喜欢Eclipse,我尝试通过以下步骤设置xcode:xcode4来运行python脚本。Xcode版本的问题是,每次我都必须像这样一致地设置项目。每次我编译需要创建文件的东西时,它都没有(比如说使用命令conn=sqlite3.connect('list.sqlite3')。有简单的方法吗?我一直在尝试学习各种iOS教程,希望我使用python脚本(我根本不熟悉这些脚本),比如raywenderlich.com和oreilly教程。有人能提供一些指导方针来说明最好的方法吗?

    这可能有帮助:stackoverflow.com/questions/81584/what-ide-to-use-for-python

    就我个人而言,我更喜欢在官方的python网站idle上找到的,可以在这里下载。这是非常容易处理的,它的外壳提供了一个测试区域,它比Eclipse提供的要多-在我看来。我相信人们会觉得我完全相反,但有了我的经验,闲散才是出路。

    我以前看到过这个,看到它在垃圾桶的小路上。(有点烦人,每一行都必须使用;)。你能用这个创建和保存脚本吗?还是全是实时的?

    我假设您在谈论shell;shell是程序运行的地方,就像运行脚本时一样,它是呈现print()函数和input()函数的地方。shell允许您创建函数,但是要在shell中完全创建函数太困难了。它允许您测试某些东西,并可以在其中操作外部文件。在编写代码之后,您可以通过手动键入希望Python执行的操作来使用函数。例如,我做了一个函数,它找到了几个毕达哥拉斯三元组。但是,我没有输入代码

    返回任何值的任何内容。在shell中,我输入了函数名,给出了参数,并打印了结果。这允许您测试某些变量或某些输入,以查看您的代码是否正常工作,并为您提供比其他IDE更大的自由度。

    我不能百分之百确定这是如何在IDES中提供更多功能的。在EasyEclipse或Xcode中编写python脚本几乎可以获得相同的功能(Xcode只是不创建文件…至少我还知道)。

    我认为Eclipse中的pydev相当不错。对于科学编程,我编写了以下安装指南:http://hywellowen.org/installing-python-for-scientific-computing-on-osx/

    斯派德似乎是个不错的选择,但我自己没有用过。

    事实上,事实证明它可能已经在Eclipse中为我设置好了,这很可爱。我讨厌过于复杂、解释错误的文档。看来这可能是现在要走的路。我仍然不确定是否有一种方法可以在Xcode中设置环境(可能有人在Xcode中有一个模板),以便在上面提到的地方创建文件。

    我想知道上面所说的脚本,您将如何使Python中的相对路径相当绝对?因为我的Eclipse工作区所在的主管,这看起来有点麻烦

    展开全文
  • from mod_pbxproj import XcodeProject import os from foundation import * from mod_pbxproj import * import plistlib from pbxproj.pbxextensions import FileOptions # 修改工程 def ch...
  • Python-Xcode清理工具

    2019-08-11 03:13:39
    清理冗余数据 清理多余模拟器
  • 使用Xcode怎么编写并运行Python

    千次阅读 2021-02-01 10:38:51
    使用Xcode怎么编写并运行Python?使用Xcode编写并运行Python的方法步骤是:1.找到Python位置:终端输入:which python获取python的安装位置,一般为/usr/bin/python。获取到这个路径方便使用它来搭建python的编译...
  • xcode配置Python开发环境

    千次阅读 2020-07-02 14:39:08
    四:验证配置的Python环境 运行代码(快捷键command+R)如果出现下面类似报错: /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/Resources/Python.app/Contents/...
  • *** ...基于 Xcode 12.2, macOS 10.15.7 一、创建/运行 python 工程 1、创建工程 Other – External Build System 2、填写 project 信息 Build Tool 默认为 /usr/bin/make 我这里使用 anaconda 的
  • 主要介绍了Python实现iOS自动化打包详解步骤,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • mod-pbxproj:处理XCode项目的python模块
  • xcode编写python

    万次阅读 2016-12-13 16:35:40
    December 13, 2016 作者:dengshuai_super 出处:...声明:转载请注明作者及出处。新建工程: 设置build Tool:Executable : 设置为/Users/apple/anaconda/bin/python.app(可以用的pyt
  • xcode编译python的方法

    2020-12-22 05:36:30
    xcode编译python的方法发布时间:2020-08-06 14:11:30来源:亿速云阅读:83作者:小新这篇文章给大家分享的是有关xcode编译python的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧...
  • xCode自动化构建工具
  • Xcode7中搭建python开发环境

    万次阅读 2016-04-05 17:13:01
    Xcode7中搭建python开发环境我使用的版本为Version 7.3 (7D175),关于基础配置部分,参考了Xcode6中搭建python开发环境的方法环境搭建1.找到电脑上安装Python的路径。OSX系统默认安装了python,默认的路径为/usr/...
  • Python脚本可自动为Xcode项目生成资产目录。 例子 gen_xcassets -d pictures/ -o tmpout/ 这将递归扫描文件夹pictures ,并为所有找到的png文件创建资产目录。 结果将保存在文件夹tmpout 。 细节 将所有@ 3x png...
  • Xcode 9 中搭建 Python 开发环境

    万次阅读 2018-05-23 21:17:08
    macOS、Xcode 9、Python(macOS 默认安装了 Python2.7)。 The first stepThe first stepThe\ first\ step:创建工程 首先,新建一个 External Build ...
  • Python批量修改iOS类名

    2021-02-04 04:03:40
    ### 这里很重要,如果这里配置不对,后果很严重 pbxpro_path = '/Users/demo/demo/demo.xcodeproj/project.pbxproj' ### 6、上面根据自己的需求配置,配置好了执行下面命令即可 打开终端 输入:python changeName.py
  • Xcode中配置Python环境

    2020-11-02 21:39:15
    MAC系统中会默认安装了python,默认路径查找的方法是,打开terminal,在终端中输入which python,如下图所示: 2.环境搭建 快捷键command+shift+N,或者选择File->New->Project,选择other中的external build...
  • 一个Python脚本,可以更快地在Xcode中创建新文件。 动机 我总是发现在Xcode中创建文件非常烦人。 这是非常缓慢且繁琐的。 并不是说创建文件是任何iOS项目的瓶颈,但是我非常感谢苹果公司提供了一种以更快,更轻松的...
  • 前两天刚订阅了bestswifter大大的小专栏,其中《2018 年将至,ios 工程师如何自我提高》这篇文章使我感触颇深,最近刚好开始看python, 就萌生了写一个python脚本练练手的想法。1. 为什么要写这个app?原因之一当然是...
  • 首先如下图找到python官网 如上图,找到我们的macos版本点击进去 下载 macOS 64-bit installer,下载完成后在启动台中找到“IDLE”并打开,即下图图标 打开“IDLE”后,尝试编写一串代码。(如下图:print...
  • Xcode项目中运行Python文件

    千次阅读 2018-01-15 10:30:37
    为什么要扯到在Xcode的项目中运行python文件,是因为写的一个抢票软件抢票逻辑是使用python编写,UI部分是使用Xcode写的mac端。刚开始mac端和python文件之间的交互不是实时的,自己刚开始学python,所以这一块就更...
  • Xcode 4中的Python

    2020-12-22 05:35:45
    如果您希望在此项目中包含现有的Python脚本,则显然需要略微偏离这些说明.如果您发现这些说明由于Xcode更新的更改而不再有效或不清楚,请告知我们.我会做出必要的更正.>打开Xcode.两者的说明是相同的.>在菜单栏...
  • Xcode自动签名

    2018-05-25 10:44:21
    Xcode自动签名其他app的脚本软件,可以快速修改签名信息,完成重签名
  • 通过brew安装的python会提示移除mac os自带的python版本,除非你忽略这个warning,但同时又会带来一系列package的安装问题,由于xcode的某些ideplugin默认会加载python,故经常导致的不能启动xcode问题可以尝试用一...
  • XXCode解码python源代码

    2017-12-13 16:01:58
    XXCode是一种二进制到文字的编码!它定义了用可打印字符表示二进制文字一种方法,跟UUencode以及Base64编码方法很类似。该源代码采用python2.7编写,可以将XXCode编码的字符还原成原始的文字。
  • 我把Python升级到了3.6,会对ios开发有影响么?升级完才看到,说是Xcode不支持3.6,有知道的么?告诉我一声,感激不尽

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,266
精华内容 8,106
关键字:

pythonxcode

python 订阅