Quantcast
Channel: Adobe Community : Popular Discussions - Photoshop Plugin and Companion App SDK
Viewing all articles
Browse latest Browse all 54282

Photoshop Touch SDK for iOS Bugs and annoyances

$
0
0

I've just finished implementing the "Touch" capability in my iOS app. As I can't find anywhere to post bug reports, and this may help others, here's my experience:

 

BUGS:

1. sendImage in psconnection is multiply broken:

(a) Network communication depends on the PSRawImage C structure. However, that does not take padding into account. This may work for build settings that don't allow structure padding, it certainly doesn't work for my settings.

(b) Pixmap support is broken. The CGBitmapContext setting (RGB 888) it attempts to use is unsupported and will throw an exception on iOS

(c) JPEG support is broken - the (required) format byte simply isn't added to the network packet.

 

2. The documentation is wrong/incomplete

(a) It doesn't mention the format byte - you have to find that in the demo programs that don't use psconnection.

(b) It suggests that messages to the server are acknowledged. If they are, I'd like to know where/how.

 

3. The test version of Photoshop  crashes with some (not all) JPEG images:

__________________________________________________________________________________________ ____

Process:         Adobe Photoshop CS5.1 [976]

Path:            /Applications/Adobe Photoshop CS5.1/Adobe Photoshop CS5.1.app/Contents/MacOS/Adobe Photoshop CS5.1

Identifier:      com.adobe.Photoshop

Version:         12.1 (12.1x20110328.r.145) (12.1)

Code Type:       X86-64 (Native)

Parent Process:  launchd [100]

 

Date/Time:       2011-04-19 13:10:26.385 +0200

OS Version:      Mac OS X 10.6.7 (10J869)

Report Version:  6

 

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)

Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000

Crashed Thread:  0  Dispatch queue: com.apple.main-thread

 

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread

0   com.adobe.Photoshop           0x0000000100541190 AWS_CUI_GetVersionComments(OpaqueWindowPtr*, adobe::q::QDocument&, adobe::q::QString&, adobe::q::QAttributeList&, adobe::q::QDocument*, adobe::q::QProject*, long) + 2510156

1   com.adobe.Photoshop           0x00000001004b4dfa AWS_CUI_GetVersionComments(OpaqueWindowPtr*, adobe::q::QDocument&, adobe::q::QString&, adobe::q::QAttributeList&, adobe::q::QDocument*, adobe::q::QProject*, long) + 1935798

2   com.adobe.Photoshop           0x00000001004b84d2 AWS_CUI_GetVersionComments(OpaqueWindowPtr*, adobe::q::QDocument&, adobe::q::QString&, adobe::q::QAttributeList&, adobe::q::QDocument*, adobe::q::QProject*, long) + 1949838

3   com.adobe.Photoshop           0x00000001007ba4a7 AWS_CUI_GetVersionComments(OpaqueWindowPtr*, adobe::q::QDocument&, adobe::q::QString&, adobe::q::QAttributeList&, adobe::q::QDocument*, adobe::q::QProject*, long) + 5103715

4   com.adobe.Photoshop           0x0000000100066573 0x100000000 + 419187

5   com.adobe.Photoshop           0x0000000100066636 0x100000000 + 419382

6   com.adobe.Photoshop           0x00000001012e0723 AWS_CUI_GetVersionComments(OpaqueWindowPtr*, adobe::q::QDocument&, adobe::q::QString&, adobe::q::QAttributeList&, adobe::q::QDocument*, adobe::q::QProject*, long) + 16794335

7   com.apple.Foundation          0x00007fff80d057d5 __NSFireTimer + 114

8   com.apple.CoreFoundation      0x00007fff86d90be8 __CFRunLoopRun + 6488

9   com.apple.CoreFoundation      0x00007fff86d8edbf CFRunLoopRunSpecific + 575

10  com.apple.HIToolbox           0x00007fff87bc97ee RunCurrentEventLoopInMode + 333

11  com.apple.HIToolbox           0x00007fff87bc95f3 ReceiveNextEventCommon + 310

12  com.apple.HIToolbox           0x00007fff87bc94ac BlockUntilNextEventMatchingListInMode + 59

13  com.apple.AppKit              0x00007fff80f7be64 _DPSNextEvent + 718

14  com.apple.AppKit              0x00007fff80f7b7a9 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 155

15  com.apple.AppKit              0x00007fff80f4148b -[NSApplication run] + 395

16  com.adobe.Photoshop           0x00000001012e0644 AWS_CUI_GetVersionComments(OpaqueWindowPtr*, adobe::q::QDocument&, adobe::q::QString&, adobe::q::QAttributeList&, adobe::q::QDocument*, adobe::q::QProject*, long) + 16794112

17  com.adobe.Photoshop           0x00000001012e10a1 AWS_CUI_GetVersionComments(OpaqueWindowPtr*, adobe::q::QDocument&, adobe::q::QString&, adobe::q::QAttributeList&, adobe::q::QDocument*, adobe::q::QProject*, long) + 16796765

18  com.adobe.Photoshop           0x0000000100068286 0x100000000 + 426630

19  com.adobe.Photoshop           0x0000000100237199 0x100000000 + 2322841

20  com.adobe.Photoshop           0x0000000100237229 0x100000000 + 2322985

21  com.adobe.Photoshop           0x0000000100002294 0x100000000 + 8852

__________________________________________________________________________________________ __

 

A Google search on the crash signature above shows it has previously occurred as a result of corrupt fonts.  However (a) I'd done all the font checking etc as recommended, and (b) this only occurs for JPEGs, not pixmaps.

 

Annoyances:

1. psconnection is a huge memory hog; it creates multiple copies of images and network packets. Be prepared to rewrite if you're dealing with large images.

2. psconnection is not thread safe. Be prepared to put in locks and inter-thread communication code.

3. psconnection is iPad only. Be prepared to rewrite to be able to use it on an iPhone

4. The serial number for the test version of Photoshop as provided on the Adobe site only works for a few hours, then decides that the serial number is invalid.

 

Hints:

The demo programs e.g., transmitimage, do seem to work, as opposed to psconnection. However, they use their own code that doesn't do much in the way of error checking, etc.

 

Sandy


Viewing all articles
Browse latest Browse all 54282

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>