Archive for the ‘Macintosh’ Category.

macOS VPN adventures

I use a VPN to connect for work, and have been having some macOS VPN adventures with my MacBook Pro. Mostly my problem was that, on occasion, the internet connectivity would not work, as I could connect to the VPN just fine, but any internet requests would just return with a failure.

The way I found to work around this issue was to go into the advanced settings for the VPN and hard code the DNS server of 8.8.8.8 in there. After doing that, it seemed to work much more solidly.

As a bonus tip, if you happen to use VMware Fusion on your Mac to run a Windows VM, I would also recommend going into the network adapter settings for your VM (all of them if you have more than one) by launching your VM and selecting Settings from the Virtual Machine menu, and select the Internet Sharing “Share with my Mac” setting instead of going directly to your Wi-Fi or Autodetect under Bridged Networking, or otherwise your VM will not communicate through the VPN you have running on your Mac at the same time.

Ignore warnings in a specific file in Xcode

If you use any 3rd party or open source code in your iOS or macOS application, you know how deflating it is to get your code all compiling with no errors or warnings, only to have your open source code spit out lots of warnings. If only there were a way to ignore warnings in a specific file in Xcode…

Well as it turns out, you can go into the Build Phases section in your target’s settings, find the file or files you want to disable warnings for, double click on the Compiler Flags, and add in the following entry:

-w -Xanalyzer -analyzer-disable-all-checks

This entry will have the additional benefit of also disabling the Clang static code analysis warning messages for the files, which can be just as annoying as the warnings.

BTW, Happy 60th Birthday to the Wizard, Jordan Rudess of Dream Theater. Jennifer and I saw them here in Columbus tonight as they performed The Astonishing live, and the show was great.

METHOD_LOG

I have a lot more projects that I am working on at my new gig, and as such, I am always looking for my METHOD_LOG definition. It is a quick define that I put in my Objective-C code so that I can log what class and method I am in, without having to type out a description of the class and method into an NSLog statement.

So here is the code for METHOD_LOG, along with a DebugLog define that I use quite often instead of NSLog:

#if defined(DEBUG)
    #define METHOD_LOG (NSLog(@"METHOD_LOG: %@ %s", NSStringFromSelector(_cmd), __FILE__))
    #define DebugLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
    #define METHOD_LOG
    #define DebugLog(...)
#endif

BTW, Happy International Caps Lock Day.

Codesign error: “Warning: –resource-rules has been deprecated in Mac OS X >= 10.10”

So you are humming along and everything is going great. Then all of a sudden you start getting the error message “Warning: –resource-rules has been deprecated in Mac OS X >= 10.10”, especially if you are using some kind of tool to re-sign code.

Apparently, in your build settings for your target in Xcode, there is a Code Signing Resource Rules Path entry that is no longer supported. Once this is removed and the app is rebuilt, the message should no longer appear. Of course, if you are re-signing an app that you do not have the source code for, this could be a challenge.

Here is the technical note from Apple that describes the issue:

TN2206

BTW, Happy 60th Birthday to the best rock guitar player of all time, Joe Satriani. I am looking forward to seeing Joe in a few weeks at the G4 Experience on Long Island.

Advent of Code

I have been going through the 2015 version of the Advent of Code, which is a web site that has a bunch of interesting programming puzzles. In an attempt to try to learn something new, I decided I would solve the puzzles using Swift. I am about half way through so far, and the results have been eye opening.

Here is the link to the Advent of Code web site:

http://adventofcode.com

And here is a link to my Github repository with the solutions:

https://github.com/Wave39/AdventOfCode

BTW, Happy Birthday to Mike Keneally, the excellent guitarist and musician who has worked with so many great artists, including Joe Satriani and Steve Vai.

Swift (or in other words, “Et tu, Objective-C?”)

Well the WWDC keynote has come and gone. And what do you know, a developer conference keynote geared towards developers. I guess all those bloggers and press types that took up some of the WWDC tickets from us actual developers are pretty disappointed today, as there were no shiny new devices shown.

The big announcement in my opinion was Swift, which will be the successor to Objective-C for developing on the Mac and iOS platforms. It looks somewhat interesting, as yet again they have lowered the bar and made it much easier to develop software for their platforms. But this is a disadvantage as well as a strength, as folks will continue to churn out the clones and inferior products that clutter up the App Store.

I applaud Apple for creating Swift and not recycling an existing language such as Ruby, Python, or Javascript, as these languages all come with their own baggage. Hopefully I will not be throwing away the 6 years of experience that I have built up with Objective-C and they will allow it to be used for the foreseeable future.

Ah, I miss the days when retain/release separated the men from the boys in the iOS world…

There was some good news in the presentations from yesterday. In the Platforms State of the Union presentation, they indicated that the 100 device barrier for beta testing and internal testing will essentially be rendered moot through Apple’s integration of TestFlight. This feature can’t come soon enough for me, so please hurry up Apple.

BTW, so many birthdays today, not sure where to begin… Kerry King of Slayer (happy 50th), Ian Hunter most famously of Mott the Hoople, Chuck Barris of the Gong Show… But the name that jumps out for me is Tristan Rogers, currently portraying Colin on The Young And The Restless. Happy Birthday, mate!

Easily modifying the play count of a track in iTunes (Mac)

At some point, I must have accidentally put a track on single repeat, as I noticed that I now have a runaway leader in my Top 100 Most Played playlist on my Macintosh. Since you cannot edit the play count field when you do Info on a track, I set out to find a way to do this.

Lo and behold, an elegant solution…

Doug’s AppleScripts for iTunes — New Play Count (link redacted, no longer available)

The script here will ask you for a numeric value, and set the play count of all the tracks you have selected to that value. Score!

BTW, Happy Birthday to both my brother Jeff, and to Mariano Rivera, both born this day in 1969. You may be aware that one of those people is famous and one is not, so for those of you who may not have ever heard of Mariano Rivera, he was a relief pitcher for the New York Yankees.

iPhone/iOS development utilities

I have really been liking a couple of freeware iPhone, iPod touch, iPad, and iOS Simulator tools that I found. They both run great on my iMac, and are super simple to use, while providing some great missing functionality that the Xcode tools do not have.

The first is iExplorer from Macroplant, which allows you to spelunk through the file system of a device connected to your system. It works with stock devices as well as jailbroken devices. Here is the link to download this application:

iExplorer

The other tool is iOS-Simulator Cropper from Curious Times. This tool take screen shots from the iOS Simulator and, shockingly enough, automatically crops them down so that you can use them in your marketing materials or for uploading to the App Store. Here is the link to download this application:

iOS-Simulator Cropper (link redacted, URL not available)

EDIT: I changed the link to iExplorer (the application formerly known as iPhone Explorer), so the link above should not be broken any more.

Garage Band loop browser acting up

This is not so much a development issue as just a general usability issue, but it had frustrated me for a while and I am glad I got the issue behind me.

The problem was that my Garage Band v6 (2011 version) had some problems with the loops. When I would fire up the program, some of the loops in the loop browser showed up sort of grayed out with an arrow next to them. When I click on one of the grayed arrowed loops, I would get a message about how I needed to use Software Update to download the loops onto my computer. However, when I would go to Software Update, it would insist that there were no updates available. Also, when I went back into Garage Band to do the same thing again, it would respond with this message:

You have already initiated the installation of additional content for GarageBand via Software Update. For additional information please open the ‘Software Update’ application.

The battle of wits has begun.

Finally after trying to uninstall and reinstall a couple of times, and after looking through umpteen dozen posts on how this fixed it or that fixed it, I came upon this post on Apple’s web site:

Update the loop library (this link is dead as of 2/23/2012)

Finally I have slain the ROUS that was my loop browser issue.

EDIT:

The link above appears to be dead as of February 23, 2012, a quick Google search for “update the loop library” with specifying the site of apple.com yielded this link on Apple’s web site:

Update the loop library (http://support.apple.com/kb/PH1936) (this link is dead as of 1/8/2017)

I do not recall the exact contents of the now dead link, but from what I remember, I think that link and this one recommended very similar steps of actions.

[myTrustyMacBookPro release]; // and “Rawhide in A”

I have to hand it to Apple, they really did a nice job with the Mac OS X Migration Assistant.

I decided that my battle tested MacBook Pro has had enough after 3 years of torture, and so I ambled down to the local Micro Center to pick up a shiny new 21.5″ iMac. Being the lazy developer type that I am, I decided to try and look into using the Migration Assistant so that I would not have to take out an external hard drive or USB memory stick to manually move lots of files from the old MacBook to the iMac.

The first attempt to use Migration Assistant did not go as smoothly as I had hoped. Since both machines were on the same wireless router, I first tried to use the wireless option for communications in the Migration Assistant. Bad move, the time for completion was fluctuating between 20 to 24 hours.

And of course, as I started to look at using Firewire, I discovered that the iMac has a Firewire 800 port, while the 2008 MacBook Pro has a Firewire 400 port. Back to the venerable Micro Center for a supporting cable.

Once I set up the Migration Assistant to run over Firewire, the estimated completion time never went over 50 minutes or so. I went downstairs to watch a bit of TV, and when I came back up a couple hours later, it was finished.

So I rebooted the iMac, and lo and behold, all of my stuffs from the MacBook Pro were on the iMac. Genius! (Bar???)

OK, now to the rant part of this post. That would be the “Rawhide in A” comment you see in this post’s title.

To my Yahoo e-mail address comes this message from some kind of guitar web site. In it, they have some news story on their web site that describes the top 20 movie scenes featuring guitar playing. I can’t pass that up, since I really like movies and I really, really like guitars.

In at number 3 on the list is the Bob’s Country Bunker scene from “The Blues Brothers”, and since I am pretty sure that it is a law in the United States that you have to watch any Good Ole Boys or Bob’s Country Bunker scene whenever the chance is presented to you, I click the YouTube link for the scene and start watching the 2 minute clip.

About 10 seconds into the clip, I do a bit of a double take. My wife and I both are big fans of the Leinenkugel Brewery in Chippewa Falls, Wisconsin, and so I am watching this clip, and I swear that I see the pretty unmistakable script Leinenkugel’s logo in the movie. Take a look at this screen capture 14 seconds in to the clip:

And I think that is very strange, since I never noticed it before, and I am the kind of person that notices things like that.

So I fire up the 25th Anniversary DVD of “The Blues Brothers”, and at about 1:21:02 into the extended version of the movie (side A), I see the following image:

Does anyone have any idea why my supposedly better widescreen edition of the movie does not have something that was in either a broadcast or pan-and-scan version of the movie??? It looks to me like for this scene, they just took the 4×3 image and chopped the top and bottom parts off to make it look widescreen, if this is the case that is disappointing. (I am not sure what to make of the IMDb technical specifications page for the movie, it lists both 1.33 and 1.85 ratios.)

BTW, happy belated 80th birthday to Leonard Nimoy. I used to be a huge Trek fan, but even I had no idea that William Shatner and Leonard Nimoy were born just 4 days apart of each other back on 1931. Fascinating…