9

我正在尝试构建一个简单的RubyMotion应用程序,以便可以在我的 iPhone 上传输它。

我执行了rake build:device

    Ankits-MacBook-Pro:hello ankitgupta$ rake build:device
    Build ./build/iPhoneOS-6.0-Development
    Create ./build/iPhoneOS-6.0-Development/hello.app/embedded.mobileprovision
    ERROR! Can't find a provisioning profile named `(?-mix:iOS Team Provisioning Profile)'

关于这个错误的任何想法?

4

3 回答 3

16

根据@RayHightower 在这里发布的RubyMotion 论坛帖子:

https://groups.google.com/forum/?fromgroups=#!topic/rubymotion/Nvo8dH_8rkI

...你应该做这个:

为了在未越狱的 iPhone 3GS 上成功运行 RubyMotion 应用程序(通过“rake 设备”),我必须:

  • 删除 Mac OS X Keychain Access 应用程序中所有过期的配置文件。是的,我的过去充满了许多随机实验:-)
  • 在应用程序的 rakefile 中明确设置我的配置文件的路径(默认设置对我不起作用)。
  • 明确设置我的 codesign_certificate 的名称。

默认的“iOS 团队资料”对我不起作用。我必须在我的 rakefile 中为应用程序设置显式值。这是我在https://github.com/HipByte/RubyMotionSamples上的“Tweets”示例应用程序的 rakefile :

$:.unshift("/Library/RubyMotion/lib")
require 'motion/project' 
Motion::Project::App.setup do |app| 
  # Use `rake config' to see complete project settings. 
  app.name = 'Tweets' 
  app.provisioning_profile = '/Users/[username]/Library/MobileDevice/Provisioning Profiles/[string-of-numbers].mobileprovision' 
  app.codesign_certificate = 'iPhone Developer: John Q Developer  (A5QZ9QF4Z1)'
 end 

当然,我的名字不是“John Q Developer”,但你懂的。希望这可以帮助!

-@RayHightower

于 2012-11-25T06:47:28.807 回答
7

一般来说,我发现当 RubyMotion 出现问题时,有一个简单的修复方法,但通常涉及 Xcode 和magic。谁知道这是否会为您解决它(这是 Xcode 的神奇部分),但它不需要对您的应用程序进行任何更改!:)

怎么修

  1. 打开 Xcode
  2. 转到“首选项” 第 2 步截图

  3. 转到“帐户”选项卡,然后单击“查看详细信息” 步骤 3 截图

  4. 点击左下角的“刷新”图标 在此处输入图像描述

等待它刷新......等等!您应该能够在没有错误的情况下进行编译。

注意:我第一次单击刷新时,它出错了。我单击“完成”按钮,然后重复步骤三和四。

祝你好运,希望这对其他人有帮助。

于 2014-04-11T02:07:10.793 回答
5

我也遇到了这个问题,从团队开发的角度来看,指定一个明确的配置文件是不可接受的,因为 Rakefile 被检入 git。

为了解决这个问题,我简单地创建了一个名为“iOS Team Provisioning Profile”的新配置文件,其中包括我想要构建的任何设备。您团队的每个成员都可以做同样的事情,没有人必须像其他答案那样明确指向配置文件路径。

如果您在以下位置浏览 RubyMotion 项目配置的源代码: https ://github.com/HipByte/RubyMotion/blob/master/lib/motion/project/config.rb 您会注意到它会寻找默认配置名为“iOS Team Provisioning Profile”的配置文件(扫描该名称的每个配置文件)。因此,只要保持不变,这可能是解决它的最简单方法。

我认为目的是能够在您的 Rakefile 中指定配置文件名称,而不是指定整个路径。然后它应该搜索您的每个配置文件,寻找与您传递的相同的配置文件(这更适合从事同一项目的团队)。不幸的是,这不是它目前的工作方式。

于 2013-02-05T19:09:02.940 回答