CocoaPods update needed for spark/spark-setup-ios - at version 0.6.1 and missing critical defect fixes

@ido- any chance you could update cocoapods for the spark-setup-ios library to match a more recent release that’s out at Github? I’ll probably pull out of GitHub since this is urgent, but am not sure what other libraries need to match. I spent this morning tracking down and fixing 2 showstopper defects that ended up in this library when trying to add devices in organization mode from the most current release out in cocoapods. I then discovered that you fixed the issues (more elegantly and correctly!) in more recent releases out on Github. Essentially cocoapods is now going on ~17 commits out of date and is dated Sept. 12 2016.

Thanks!

-Steve

Hi Steve, you’re absolutely right. It’s my bad. Thanks for the heads up!
Quite a lot of changes have accumulated but I’ve yet to publish a new pod version. It’ll be v0.7.0 and the change log is the following:

  • Change: XCode 8 compatibility fixes
  • Change: Force 8 characters passwords in signup
  • Change: Added account info signup fields in UI and API request (name, company name, business account)
  • Bugfix: Reset password button issue
  • Change: “Product mode” deprecates “Organization mode” and fixes API requests
  • Change: Wording of change ownership message during setup
  • Change: Clean up some NSLogs
  • Change: Updated and improved documentation
  • Bugfix: Fix a bug that would sometimes cause a device to not get named after setup even if user wanted to name it
  • Bugfix: Prevent multiple signup viewcontroller spawns by blocking signup button after first tap
  • Change: Updated Pods and Carthage

I’ll be working on publishing the pod probably next week. Expect an update soon, for now you did the right thing - pull from Github or use Carthage.

Thanks again!

1 Like

Excellent-- much appreciated! It’s been quite helpful to be able to re-use much of the code you’ve developed to get our solution up and running.

I was just starting into a pull from Github and will check the dependencies there to make sure about any other SDK changes that are needed. I wish I could get Carthage to work, but had to abandon that. It seems like that has come into favor these days.

Any plans for a Xamarin version of the sdks? That would have been a better strategy for us-- we’ll be implementing Android next and I think I’ll try getting it to fit under Xamarin at that time, but we’re still a few months out.
-Steve

Check out this community contribution Xamarin SDK for Particle:

and the forum post:

1 Like

I just published setup lib 0.7.0 - please give it a spin and let me know if you encounter any issues
@steveh291

1 Like

Hi Ido- thanks very much. I should be able to try this out yet this evening. By the way, your info on the Particle SDK for Xamarin made my day yesterday!
-Steve

2 Likes

Just had an opportunity to try this out. I did encounter a compile issue:

pod ‘SparkSetup’, ‘~> 0.7.0’ in podfile resulted in:

/Users/Steve/Apps/photon-tinker-ios-master/Pods/SparkSetup/Classes/UI/SparkUserSignupViewController.m:15:9: ‘OnePasswordExtension/OnePasswordExtension.h’ file not found

I’ll go see if I can track this down.

-Steve

Hi Ido-
I changed my local copy of Classes/UI/SparkUserSignupViewController.m back to -#import <1PasswordExtension/OnePasswordExtension.h> and that got around the issue. I haven’t run through my test suite, but the “happy use case” passed just fine (normal authentication). Here’s my pod spec. Let me know what the official change is that I’ll need to make. Thanks!

target ‘Particle’ do
pod ‘Spark-SDK’, '~> 0.6’
pod ‘SparkSetup’, '~> 0.7.0’
pod ‘MBProgressHUD’, '~> 0.9’
pod 'TSMessages’
pod ‘PullToRefreshCoreText’, '~> 0.1’
pod 'ASValueTrackingSlider’
pod 'Mixpanel’
pod 'DateTools’
pod 'IQKeyboardManager’
pod 'YCTutorialBox’
pod 'Crashlytics’
pod 'Analytics’
end

Steve

@ido
To pile onto the list of fixes that need to be made:

-Unable to use same client/secret in cocoa pods-keys for more than one product, which creates multiple issues when trying to create more than one product to connect to an iOS App with Particle products and will greatly hinder platform expansion. Creating two client/secrets, as suggested previously by Ido, creates multiple issues, unless you allow
SparkCloud.sharedInstance().oAuthClientId and SparkCloud.sharedInstance().oAuthClientSecret to process and array of [clients] and [secrets], or something like that, which as far as I am aware is not currently possible.
I really would greatly appreciate a fix for this ASAP. Thank you. :nerd_face:

-brandImage is not resizing properly as demonstrated below- i removed the app icons and name, but you should see my point. What size should the brandImage be anyways?

Hi sdevo619

I’d love to understand what are is it you trying to do - why would you create a single app or client for two (more?) different products? Is it essentially the same product on different platform (Photon/P0/P1/Electron etc)?

This is not exactly the intended usage of the platform, however, if you have a justified special edge case we’d love to help accommodate this requirement. Let me know, if you prefer privately, that’s also ok.

Regarding brandImage weird resizing - is that a new issue since you updated to 0.7.0? What were the dimensions before?

Thanks

I think it was the other person who added on to the conversation (Spencer - sdevo619). I’m just having the compile issue that’s one earlier in the thread.

Oops sorry about it, I edited my response to tag him.
@steveh291 are you still having issues with 0.7.0?

Ido @ido,
What I would like to be able to do, is create one iOS app, which will intereact with 2 different Products under the same brand. One of the products will be a Photon and the other willl be an Electron. I have a really cool app I have a ton a man hours into that has the potential to garner a pretty large user base, and sell a lot of Photons and Electrons in the process, so I would love to work with you on making this possible, if it is not already. This is not the app, but for example lets say the iOS app would connect to a personal weather station(Electron) and an Indoor Sensor(Photon). I want to be able to create products for each of these items and I need them to be able to connect to the app. If you would like to know more about my specific use, and why I see huge potential to sell your products, please message in private. Thank you very much. Please review my previous posts on the subject to get more in depth information on this issue, and my proposed solution of allowing for an array, dictionary, or tuple of clients/secrets to be fed back to your back end. I hope this all makes sense. If you need any clarification please message me directly. I have a previous email chain from you, so you should hopefully have my email address. Thank you very much for taking the time to respond.
Issue is still present in 0.7.0
Spencer