首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Trigger.io [Errno 18]交叉设备链路

Trigger.io [Errno 18]交叉设备链路
EN

Stack Overflow用户
提问于 2012-07-20 11:29:46
回答 4查看 11.5K关注 0票数 13

当我试图在mac上运行包ios时,我得到以下信息:

代码语言:javascript
复制
[INFO] Forge tools running at version 3.3.5
[INFO] Update result: you already have the latest tools
[INFO] Configuration is unchanged: using existing templates
[INFO] Checking JavaScript files...
[INFO] JavaScript check complete
[INFO] Verifying your configuration settings...
[INFO] Configuration settings check complete
[INFO] Development build created. Use forge run to run your app.
[INFO] Forge tools running at version 3.3.5
[INFO] Checking JavaScript files...
[INFO] JavaScript check complete
[INFO] Verifying your configuration settings...
[INFO] Configuration settings check complete
[INFO] Starting package process for iOS
[INFO] Going to package: /Users/******************/device-ios.app
[INFO] Plist OK
[INFO] 1 Provisioned Device(s):
[INFO] ['c**************************b']
[ERROR] [Errno 18] Cross-device link

应用程序配置、本地配置等都正确地填充了这些设置。

这是调试输出

代码语言:javascript
复制
........
in run
    self._run_task(func_name, args, kw)
  File "/Users/username/forge-workspace/compapp1/.template/generate_dynamic/build.py", line 293, in _run_task
    self.tasks[func_name](self, *args, **kw)
  File "/Users/username/forge-workspace/compapp1/.template/generate_dynamic/ios_tasks.py", line 568, in package_ios
    certificate_password=certificate_password,
  File "/Users/username/forge-workspace/compapp1/.template/generate_dynamic/ios_tasks.py", line 362, in create_ipa_from_app
    self._create_entitlements_file(build, plist_dict, temp_file_path)
  File "/Users/username/forge-workspace/compapp1/.template/generate_dynamic/ios_tasks.py", line 299, in _create_entitlements_file
    _replace_in_file(temp_file_path, 'APP_ID', bundle_id)
  File "/Users/username/forge-workspace/compapp1/.template/generate_dynamic/ios_tasks.py", line 294, in _replace_in_file
    os.rename(tmp_file, filename)
OSError: [Errno 18] Cross-device link
EN

回答 4

Stack Overflow用户

发布于 2013-03-08 18:07:27

转到/Users/username/forge-workspace/compapp1/.template/generate_dynamic/ios_tasks.py 294线,

更改这一行:os.rename(tmp_file, filename)

对此:shutil.move(tmp_file, filename)

又是包裹。

source

票数 23
EN

Stack Overflow用户

发布于 2012-07-21 16:03:17

你用的是外部硬盘吗?如果是这样的话,我们似乎被Python (http://docs.python.org/library/os.html#os.rename)的限制咬过了:

代码语言:javascript
复制
The operation may fail on some Unix flavors if src and dst are on different filesystems

在短期内,您可以运行您的伪造命令而不是在您的外部硬盘驱动器?我们将致力于解决根本问题,并在此报告。

票数 7
EN

Stack Overflow用户

发布于 2012-09-26 19:01:55

我遇到了同样的问题,在Ubuntu上编译iOS包。我有一个加密的主目录,这可能是跨文件系统问题的原因。

幸运的是,多亏了@Amir的巨大回应,我才能找到一个简单的解决办法。

来自http://docs.python.org/dev/library/tempfile.html#tempfile.mkstemp

如果指定了dir,则将在该目录中创建该文件;否则,将使用默认目录。默认目录是从依赖于平台的列表中选择的,但是应用程序的用户可以通过设置TMPDIR、TEMP或TMP环境变量来控制目录位置。

我只是通过使用以下命令启动触发器来移动临时目录:

代码语言:javascript
复制
export TMPDIR="/home/me/tmp"
python /home/me/source/TriggerToolkit/run_trigger_toolkit.py
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11578443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档