Posts tagged ‘Macintosh’

iPhone sync hangs on “Syncing (Step 2 of 4) — Preparing to sync”

If you are like me (and you know you are), I like to regularly sync my iPhone to my MacBook Pro. This is mainly just for tracking what music I listen to, as I do not do backups to my local computer any more.

Alas, there is a fly in the ointment. Lately I have been plugging my iPhone into my MBP, and then from Finder I click on the iPhone on the left and click the Sync button, and along the bottom it stays at “Syncing (Step 2 of 4) — Preparing to sync” and never moves. Here is an example of what it looks like: (You’ll forgive me if I redact some of the more sensitive bits here.)

By the way, this is an Apple Silicon MBP and it is on the latest Sonoma.

I have a solution that seems to work for me, but keep in mind that your mileage may vary, especially since the workaround that I am talking about involves terminating a system process.

So as it turns out, there is a system process running called “MDCrashReportTool” that is somehow interfering with this process. The way that I have been able to get this to complete is to launch the Activity Monitor, then from the CPU tab search for “crash”, and your window will then look something like this:

Double click on the MDCrashReportTool entry, and from the dialog that pops up click Quit, and then click Force Quit. Once you do this, your sync should go through without incident, even if it was hung on step 2 of 4 when you kill the MDCrashReportTool process.

You will have to do this every time you reboot the computer, as the MDCrashReportTool seems to reappear again for me.

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.

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…

A pearl of great price

If you are using Xcode for either Macintosh or iPhone development, please go to one of your implementation files in Xcode right now, hold down Control and Command and press the up arrow. Your life will be much better.