RubyMotion Build:错误!找不到名为`(?-mix:iOS Team Provisioning Profile)的配置文件

时间:2012-11-24 08:55:50

标签: ios ruby rubymotion

我正在尝试构建一个简单的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)'

对此错误有任何想法吗?

3 个答案:

答案 0 :(得分:16)

根据@RayHightower的RubyMotion论坛帖子:

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

......你应该这样做:

  

为了在非越狱上成功运行RubyMotion应用程序   iPhone 3GS(通过“rake设备”)我不得不:

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

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

$:.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

答案 1 :(得分:7)

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

如何修复

  1. 打开Xcode
  2. 转到'首选项' Step 2 Screenshot

  3. 转到'帐户'选项卡,然后点击查看详细信息' Step 3 Screenshot

  4. 点击“刷新'图标,在左下角 enter image description here

  5. 等待它刷新......等等!你应该能够编译没有错误。

    注意:我第一次点击刷新时出错了。我点击了完成的'按钮,然后重复第3步和第4步。

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

答案 2 :(得分: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中指定配置文件 name ,而不是指定整个路径。然后,它应该搜索您的每个配置文件,寻找与您传递的匹配项相匹配的配置文件(这对于处理同一项目的团队更合适)。不幸的是,这不是目前的工作方式。