2014-11-25 7 views
0

나는 Sencha Touch 최신 버전을 사용하여 플레이어를 생성하고 Soundcloud를 통합했습니다. 로컬 서버 (Wamp)에서 응용 프로그램을 실행하고 있기 때문에 응용 프로그램이 웹 브라우저에서 잘 작동합니다. 명령 줄을 사용하여 응용 프로그램을 패키지화하고 해당 패키지를 사용하여 응용 프로그램을 실행하면 제대로 작동하고 오류가 발생하지 않습니다. 콘솔. 내가 바탕 화면 또는 로컬 서버에서 내 응용 프로그램을 이동하고 응용 프로그램을 실행하려고 할 때, 나는 다음과 같은 오류가 발생합니다 :모바일 앱에서의 Soundcloud javascript API 문제 해결

Cross origin requests are only supported for protocol schemes: http, data, chrome-extension, https, chrome-extension-resource. sdk.js:1 

어떤 생각 방법이 문제를 해결하려면? 내가 붙어있어 내 앱에서 사운드 클라우드 트랙을 실행할 수 없습니다.

모든 도움을 받으실 수 있습니다.

답변

0

CORS (Cross Origin Resource Sharing) 오류가 발생합니다. 기본 동작은 다른 도메인에서 시작된 이와 같은 요청을 방지하는 것입니다. 따라서 특별히 허용해야합니다. 당신은 폰갭으로 장치에 설치하는 경우에 당신은 당신의 config.xml 파일이 포함되어야한다 : 당신이 서버에서 호스팅하는 경우

<access origin="http://connect.soundcloud.com*"/> 

은 다음, CORS 수 있도록 정보는이 웹 사이트를 읽어야 http://enable-cors.org/

SC.get('https://api.soundcloud.com/tracks/', { genres: query, bpm: { from: 150 }, filter: 'streamable' }, 
function(tracks){ 
//... 
}); 

대신 :

SC.get('/tracks/', { genres: query, bpm: { from: 150 }, filter: 'streamable' }, 
function(tracks){ 
//... 
}); 

은 또한 당신은 사운드 클라우드에서 트랙을 가져올 때 전체 URL을 사용해야 할 수도 있습니다

더 많은 문제가 발생하면 여기에서 대답을 찾을 수 있습니다. http://www.joshmorony.com/final-converting-a-native-android-app-to-sencha-touch-part-5/ SoundCloud를 사용하는 Sencha Touch로 내 경험을 블로그에 올렸습니다.

+0

나는 그것을 시도해보고 알릴 것이다. 조쉬, 고마워. 고마워. – Deksterious

+0

안녕 Josh, 그것은 효과가 있었다. 고맙습니다! – Deksterious