|
Post by jontara on May 22, 2017 6:28:19 GMT
I am trying to build with master, Rhodes 6.0.
I'm not sure of the state of 6.0, but thought I would give it a go. Build for iOS simulator failed, but build for device succeeded. However, there is a new requirement now apparently for a provisioning profile that enables keychain sharing? I got a message about that.
I don't see any way to enable keychain sharing though on the Apple developer portal when I set up the App ID. Maybe they use a different terminology on the portal?
As well, Apple now strongly discourages "old style" manual provisioning. But I do not want to have to create an XCode project and then go in and change the XCode project manually to do automatic provisioning.
As well, I'm afraid that I'm having the usual problem where XCode doesn't show any of my provisioning profiles. But I know where to look in the filesystem, and just assume the most recently-dated one is the one I just downloaded and installed.
Is there going to be some update to the documentation showing how to codesign the "new way"? Or is it even possible? I'm afraid that on the next XCode update they will remove old style manual provisioning all together.
|
|
|
Post by jontara on May 24, 2017 14:24:05 GMT
I'm afraid Lucy (Apple) moved the football (XCode) again! www.youtube.com/watch?v=055wFyO6gagI guess Rhodes is not ready for XCode 8.3.2 command-line build with signing! If you search, you will find lots of other complaints (like Cordova). I don't know if anyone has solved it yet. I backed off to XCode 8.2.1 and I can sign.
|
|
|
Post by jontara on May 24, 2017 14:26:56 GMT
BTW, Apple also now moved the display of provisioning profiles in XCode 8.3.2. Now you have to have a project open! They are making it as hard to find as possible.
I usually figure out which provisioning profile is which by downloading them one at a time, and then looking for the latest timestamp in /Library/MobileDevice/Provisioning Profiles. Then I can get the UUID from the file name.
|
|
|
Post by Dmitry Soldatenkov on May 26, 2017 17:39:27 GMT
|
|
|
Post by jontara on May 31, 2017 6:34:42 GMT
I'm afraid this doesn't work for me. I still get "Code signing is required for product type 'Application' in SDK 'iOS 10.3' In build.yml I set: provisioning_style: 'Manual' development_team: '(team ID here)' provision_profile: 'XCode iOS Wildcard' I also tried a UUID for provision_profile. It works with XCode 8.2.1 but not wtih 8.3.2. (But with XCode 8.2.1 I do it the old way with just provision_profile UUID and code signing identify. I get: Code signing is required for product type 'Application' in SDK 'iOS 10.3' That message apparently comes from xcodebuild.
|
|
|
Post by Dmitry Soldatenkov on Jun 1, 2017 13:56:02 GMT
|
|
|
Post by jontara on Jun 16, 2017 4:02:50 GMT
I still have not been able to get this to work. I have tried all different combinations. Now I am trying with the 6.0 beta4 Gem. (Before I was trying with my own Gem build from repo.)
I wasn't sure if it still accepts a provision profile uuid, so I tried again with the provision profile name. Still does not work.
I followed the examples you linked and tried both manual and automatic provisioning.
I supply:
codesignidentify: 'iPhone Developer'
provisionprofile: 'XCode iOS Wildcard' OR provisionprofile: '(uuid)'
provisioning_style: 'Manual'
development_team: '(team ID)' from security find-identity -p codesigning -v
I also tried provisioning_style: 'Automatic'.
Same message, just
❌ Code signing is required for product type 'Application' in SDK 'iOS 10.3'
|
|
|
Post by Dmitry Soldatenkov on Jun 16, 2017 15:30:03 GMT
Hm... I tested all on my side.
1. May be you use incorrect team UUID 2. What is your XCode version ? 3. send me your build.yml in two configurations - Automatic/Manual
Try next : regenerate project and open it in XCode - then see signing options - how XCode show it - if some issues - XCode show it
|
|
|
Post by jontara on Jul 12, 2017 17:49:37 GMT
Still no luck with this. currently trying with 6.0 master@fb9a69be and now working with XCode 8.3.2. I can build/run for simulator, but still having problems with the new-style code signing. So, for project I am still stuck on 5.5 with XCode 8.2.1, and really would like to get up to date. (Realize 6.0 is still not released, but at least my app is running in simulator.)
Some really clear new documentation is needed.
I will send you the build.yml and give you access to the repo to look.
I notice some errors in the build output. I wonder if this has something to do with it?
Build for iOS, set required XCode version... > xcode-select --print-path required_xcode_app_version: '8.3.2' xcode_select_path: '/Applications/Xcode.app/Contents/Developer' xcode_app_path: '/Applications/Xcode.app' xcode_app_name: 'Xcode.app' xcode_app_directory: '/Applications' > defaults read /Applications/Xcode.app/Contents/version CFBundleShortVersionString xcode_app_version: '8.3.2' [INFO] Starting rhodes build system using ruby version: 2.3.4 [INFO] Preparing rhobuild.yml [INFO] $$$ XCode version is 8.3.2 [INFO] $$$ XCode version is 8.3.2 security: SecPolicySetValue: One or more parameters passed to a function were not valid. security: SecPolicySetValue: One or more parameters passed to a function were not valid. security: SecPolicySetValue: One or more parameters passed to a function were not valid. security: SecPolicySetValue: One or more parameters passed to a function were not valid. security: SecPolicySetValue: One or more parameters passed to a function were not valid. [INFO] Processed MobileProvision UUID = 56f81733-3978-446c-81f6-890e5df85814 [INFO] SDK = iphoneos10.3 [INFO] Check SDK : [INFO] iPhoneOS10.3.sdk - iOS 10.3 (iphoneos10.3) SDKVersion: 10.3 Path: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk PlatformVersion: 10.3 PlatformPath: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform ProductBuildVersion: 14E269 ProductCopyright: 1983-2017 Apple Inc. ProductName: iPhone OS ProductVersion: 10.3 Notice the SecPolicySetValue complaints.
Then at the end of build:
▸ Building SpatialVis/rhorunner [Release] ▸ Check Dependencies
❌ Code signing is required for product type 'Application' in SDK 'iOS 10.3'
** BUILD FAILED **
The following build commands failed: Check dependencies (1 failure) rake aborted! Command '/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild' with args 'build -target rhorunner -configuration Release -sdk iphoneos10.3 -project SpatialVis.xcodeproj' failed with code 65 /Users/jon/.rvm/gems/ruby-2.3.4@rhodes_master_6.0_fb9a69be/gems/rhodes-6.0.0/platform/iphone/rbuild/iphonecommon.rb:103:in `run_and_trace' /Users/jon/.rvm/gems/ruby-2.3.4@rhodes_master_6.0_fb9a69be/gems/rhodes-6.0.0/platform/iphone/rbuild/iphone.rake:2434:in `block (3 levels) in <top (required)>' /Users/jon/.rvm/gems/ruby-2.3.4@rhodes_master_6.0_fb9a69be/gems/rhodes-6.0.0/Rakefile:110:in `execute' /Users/jon/.rvm/gems/ruby-2.3.4@rhodes_master_6.0_fb9a69be/gems/rhodes-6.0.0/Rakefile:4526:in `invoke' /Users/jon/.rvm/gems/ruby-2.3.4@rhodes_master_6.0_fb9a69be/gems/rhodes-6.0.0/platform/iphone/rbuild/iphone.rake:2357:in `block (3 levels) in <top (required)>' /Users/jon/.rvm/gems/ruby-2.3.4@rhodes_master_6.0_fb9a69be/gems/rhodes-6.0.0/Rakefile:110:in `execute' /Users/jon/.rvm/gems/ruby-2.3.4@rhodes_master_6.0_fb9a69be/gems/rhodes-6.0.0/Rakefile:4526:in `invoke' /Users/jon/.rvm/gems/ruby-2.3.4@global/gems/rake-12.0.0/exe/rake:27:in `<top (required)>' /Users/jon/.rvm/gems/ruby-2.3.4@rhodes_master_6.0_fb9a69be/bin/ruby_executable_hooks:15:in `eval' /Users/jon/.rvm/gems/ruby-2.3.4@rhodes_master_6.0_fb9a69be/bin/ruby_executable_hooks:15:in `<main>' Tasks: TOP => build:iphone:rhodes_old (See full trace by running task with --trace) **** WARNING ************************************************************************************************* The following extensions do not have JavaScript API: digest, digest-sha1, digest, digest-sha1, digest, digest-sha1 Use RMS 4.0 extensions to provide JavaScript API **************************************************************************************************************
|
|
|
Post by Dmitry Soldatenkov on Jul 12, 2017 18:16:35 GMT
Please see some lines before this final message "Code signing is required for product type 'Application' in SDK 'iOS 10.3'" XCode should write exactly reason, I think it should be like "bla bla bla team not found" or something similar.
Can you send full console output to me (dsoldatenkov@tau-technologies.com) ?
|
|
|
Post by jontara on Jul 12, 2017 18:26:31 GMT
OK, I sent you console output.
There is no error message about build team, though.
Maybe I should re-run without XCPretty?
|
|
|
Post by Dmitry Soldatenkov on Jul 12, 2017 20:25:30 GMT
As I understand we solve issue. The root of issue: we should define team id in build.yml and this id MUST be copied from _Distribution_ certificate. And this id used for Development and Distribution build both ! New signing in build.yml described currently in application template build.yml (generate new application and you can see comments in generated build.yml): github.com/rhomobile/rhodes/blob/master/res/generators/templates/application/build.yml#L54-L71ATTENTION!: team id should be get from iPhone _Distribution_ certificate installed on your system !!! you see team code by run this command: $ security find-identity -p codesigning -v you will see list of certificates and you should copy code from "iPhone Distribution" line like this (code is PNQRMU3LPM): 5) D6D5EE35B3F8D9C04E85C7015539F04B38403DA3 "iPhone Distribution: Vasya Pupkin (PNQRMU3LPM)"
|
|
|
Post by jontara on Jul 13, 2017 20:14:47 GMT
Yes, the problem is solved and I am able to sign now with XCode 8.3.2.
I was confusing issues around Rhodes 5.5/6 with XCode 8.2.1 vs 8.3.2 as I was trying to accomplish both at the same time. With XCode 8.3 there was a change and the new provisioning style is needed.
I think it is confusing to say "must be copied from distribution certificate". The distribution certificate is a red herring. It's not the real issue, and you don't even need one unless you are doing AdHoc distribution. In my case, I was only making a build with a development provisioning profile. The development provisioning profile itself only references the developer's own personal ID.
What is needed now (Since XCode 8.3) is the team ID set in development_team in build.yml, even if using a developer provisioning profile.
A distribution certificate is a convenient place to get the team ID from, but is not the only way.
You can get the team ID from the Apple Developer portal. Go to Account > Membership, and it is listed on the page to the right as Team ID.
|
|