我正在尝试构建一个简单的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)'
对此错误有任何想法吗?
答案 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的神奇部分),但它并不需要你的应用程序中的任何更改! :)
转到'首选项'
转到'帐户'选项卡,然后点击查看详细信息'
点击“刷新'图标,在左下角
等待它刷新......等等!你应该能够编译没有错误。
注意:我第一次点击刷新时出错了。我点击了完成的'按钮,然后重复第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 ,而不是指定整个路径。然后,它应该搜索您的每个配置文件,寻找与您传递的匹配项相匹配的配置文件(这对于处理同一项目的团队更合适)。不幸的是,这不是目前的工作方式。