2017-03-21 10 views
1

아침 제군/여성,엑스 코드 .ipa 업데이트 루프 : 사용 가능한 업데이트, 업데이트 된 응용 프로그램

내가 쓸 수

최단 배경 : 회사의 재고, 개발자는 더 아이폰 OS 개발자, 중복되지 관리를위한 사내 응용 프로그램에서 날 온다. iOS 개발 경험이없고 제한된 HTML/Javascript 프로그래밍 배경이 없습니다. 응용 프로그램은 iOS v6.1.6에서 실행되며, Macbook을 '08에서 꺼내어 이제 El Capitan v10.11.6 및 xCode v 6.4 (6E35b)를 실행해야했습니다. 어떤 소프트웨어/OS 버전이 앱 개발/유지 관리에 사용되었는지 알 수 없습니다. Xcode는 프로젝트 형식 : Xcode 3.2와 호환되도록 설정됩니다.

나는 고통스럽게도 이전 위치를 찾을 수있었습니다. 개발자 xcodeproj 파일, 코드 서명을위한 개발자 프로필로 변경, .ipa 빌드/아카이브/내보내기. 이 설치하고 응용 프로그램이 원하는 장치에서 실행됩니다.

오류 : 업데이트 가능, 업데이트 된 응용 프로그램을 사용할 수 있으며 지금 설치됩니다.

사용자가 사용자 프로필 (비밀번호 없음, 사용자> Userprofile), 상점 (항목이있는 창고의 섹션)을 선택하고 몇 초 동안 앱을 탐색 한 다음 홈 버튼 응용 프로그램을 다시 엽니 다.

현재 문제를 해결하려면 웹 서버를 통해 제거 (일반 iOS 제거)/재설치를해야합니다. 다시 설치 한 후 웹 서버에서 파일을 제거하려고했습니다. 업데이트가 계속 표시됩니다. 업데이트는 응용 프로그램을 성공적으로 설치합니다. 이 '업데이트'후에 앱을 열면 다시 업데이트하라는 메시지가 즉시 표시됩니다.

내 질문에 이것이 너무 애매하지 않으면 내가 처음으로이 가정 된 '루프'업데이트 원인을 찾을 수 있습니까?

EDIT1 : ***** 워크 플로우 : ******
나는 지저분한 Stocktake 폴더의 깊이에서 프로젝트 파일을 뽑아 한 가 마지막으로 수정 된 날짜를 사용하여 (8 다른 배포판/버전이 흩어져).

프로젝트를 Xcode에로드 한 후주의를 요하는 첫 번째 항목은 '프로젝트 설정 유효성 검사'입니다. - 'Architectures'자동으로 아키텍처 선택, 'StockTake'프로젝트 - 자동으로 아키텍처 선택, 'StockTake'프로젝트 - 디버깅 할 때만 활성 아키텍처를 빌드 할 수 있습니다. 나는 변화를 수행하고 스냅 샷을 생성하라는 후속 팝업을 가능하게한다.

위로부터 Stocktake Info, 배포 대상, iOS 배포 대상 [6. 1] 신원에

스위치 : [1.0] (: 번들 식별자가 올바른
버전 (이전 소유자 변경되었습니다, 나는 그와 관련된 것을 찾고 프로젝트 파일을 통해이 사용 메모장 ++ 및 탐색을 해킹-jobbed) 이번에는 이번에 남겨 둘 것입니다.)
Build : [1.0]
올바른 팀을 선택했는지 확인하십시오.

빌드 설정

아키텍처 : 기본 SDK [최신 아이폰 OS (아이폰 OS 8.4)] 코드 서명 : 모든 중 아이폰 OS 개발자, 또는 자동.
프로젝트 파일을 불러 오면 나머지는 그대로 남습니다.
청소, 청소가
빌드를 성공, Stocktake 빌드 :
그런 다음, 제품, 목적지, 아이폰 OS 장치
아카이브
이 성공 유효성 (작성 날짜를 Stocktake를 볼 수, 버전은 [1.0] 위에 어떤 나열되어있다) 올바른 팀을 선택하십시오. 프로비저닝 프로파일이 XC에서 생성 한 것입니다.
iTunes Store 작업이 실패했습니다. 적합한 응용 프로그램 레코드가 없습니다. 번들 식별자를 확인하십시오.
어쨌든 Organizer에서 내보내기 기능을 사용할 수 있기 때문에 그대로 둡니다. 내보내기, 임시 저장, 올바른 팀 선택, XC 작성 프로로 내보내기. 프로필, 내보내기
.ipa가 성공적으로 만들어집니다.
나는 더 깊이 들어갈 수 있지만, 나는 거대한 벽을 만들고 싶지 않다. 필요한 경우 어딘가에서 내 심층 결과의 PDF를 업로드 할 수 있습니다.

- (무효) promptForUpdate
{
CCAlertView * 경고 = [[CCAlertView의 ALLOC] initWithTitle : @ "업데이트 가능"메시지 : @ ". 업데이트 된 응용 프로그램을 사용할 수 있습니다 지금 설치합니다"];

[alert addButtonWithTitle:@"Ok" block:^{ 
    // open update URL in Web Browser 
    if (![[UIApplication sharedApplication] openURL:kUpdaterURL]) { 
     ALog(@"Failed to open app updater URL: %@", kUpdaterURL); 
    } 
}]; 

[alert show]; 

}

+0

새로운 아이폰 OS에 장치를 업데이트하고 새로운 엑스 코드와 응용 프로그램을 구축하는 기회가 propably 없습니다 :

이 포스팅은 (아래 링크) 나 버전을 변경하는 결론에 도달 도움이?또한 배포 워크 플로 설정 방법에 대한 자세한 내용을 제공 할 수 있다면 도움이 될 것입니다. – Losiowaty

+0

'CFBundleShortVersionString' (프로젝트에서 검색)을 찾으십시오. 왜? 개발자가 현재 설치된 버전을 확인하여 업데이트를 사용할 수 있는지 확인해야하기 때문입니다. 그렇지 않다면,'Update Available'을 검색하여 (코드에서) 어디서 팝업되는지 확인하십시오. – Brandon

+0

@Losiowaty 유감스럽게도 iPod Touch는 v6.1.6 이상으로 업데이트 할 수 없으므로 불가능합니다 (4 세대, 2012 년). 내 워크 플로에 관해서는 위의 질문에 배치 할 것입니다. – DJM

답변

0

나는 더 이상 문제가 팝업 경우 우리가 볼이 특정 문제를 해결하기 위해 관리. appname.plist와이 앱이 연결되는 Oracle 데이터베이스와 관련된 두 개의 web.config 파일간에 버전이 일치하지 않아야합니다. 여기 Maximo 환경, 생산 및 테스트를 실행합니다. 내가 appname.plist (내 경우 Stocktake.plist)을 열고 다음 코드 발견
:

  <key>bundle-version</key> 
      <string>1.0</string> 

내가 이것을 편집 해 :

  <key>bundle-version</key> 
      <string>1.16</string> 

이 일치하는 것이었다을 이 문제를 해결하려면 이처럼 보였다 두 webconfig 파일 :

<appSettings> 
    <add key="webpages:Version" value="2.0.0.0" /> 
    <add key="webpages:Enabled" value="true" /> 
    <add key="PreserveLoginUrl" value="true" /> 
    <add key="ClientValidationEnabled" value="true" /> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
    <add key="MaximoConnection" value="provider=OraOLEDB.Oracle; data source=maximo75test; user id=; password=;" /> 
    <add key="BatchSize" value="200" /> 
    <add key="Version" value="1.16" /> 

번들 버전 문자열을 건드리지 않았습니다. 이전에 발견 한 모든 배포에서 1.0 이었기 때문입니다. 이전에 web.config 버전 파일을 가지고 놀았지만 Xcode에서 만든 App 버전과 일치했습니다 (작성한 마지막 버전은 1.6이라고 생각합니다). 나는 이것이 왜 효과가 있었는지 확신 할 수 없다. 내가 만든 .ip 파일에 1.16을 입력하지 않았다. 내가 처음 문제 해결을 시작할 때 1.16 이었지만, Maximo와 관련이있을 수있다 (아마 Maximo는 1.16 버전인가?). .

누구나이 '업데이트 사용 가능'루프에 문제가있는 경우 작업중인 응용 프로그램과 통합하려는 최신 버전의 소프트웨어를 마지막으로 찾으려고합니다. 버전 및 내보내기 전에 같은 번호로 빌드하십시오. 모범 사례는 아니지만 최소한 문제가 해결 될 때까지 천천히 버전/빌드를 교체 할 수 있습니다.
Version vs build in XCode